国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

python學習筆記-map/reduce/filter/sorted

用戶83 / 1161人閱讀

摘要:會依次將中的數據傳遞到中,根據返回的或者,留下或者拋棄這個值。而對于字符串,則是根據字符串對應的碼表進行排序。同時也是一個高階函數,可以實現自定義的排序方式。

map/reduce是一種編程思想,在各個領域都有它的實踐。
網上有一個簡單的例子解釋map/reduce。
比如說你需要數一下某一個圖書館中有多少本藏書。
最傻瓜的做法就是排一個人從頭數到尾。這樣速度慢,低效。
另一種方法就是先將圖書館劃分成幾個區域,派多個人,每人負責一個區域去數書架上的藏書數。這就是map.
當大家都把各自的數完了,一個人負責加和所有的圖書數。這就是reduce。
這里有幾篇文章可能會幫助理解。http://blog.jobbole.com/1321/ 和
http://blog.csdn.net/lifuxian...

python內置了mapreduce函數。

map 函數

map函數接受兩個參數,第一個是函數f,第二個是序列。map函數的作用就是將傳入的函數作用在序列的每一個元素上,并放回一個新的序列。所以函數f接收一個參數。

map其實是把運算規則抽象化了,是一個高階函數。

reduce

reduce函數也接受兩個參數,第一個是函數f,第二個是序列。函數f接收兩個參數。
f先從序列開端取兩個元素,計算得一個結果。該結果再與序列第三個參數作為兩個參數代入函數f計算得一個結果,如此不斷重復。

filter
filter(func,list)

filter會依次將list中的數據傳遞到func中,根據func返回的True或者False,留下或者拋棄這個值。
例如

// 定義一個函數,判斷是否是int
def is_int(x):
    return isinstance(x, int)


l = [1, 2, 3, "100", "yes"]
print filter(is_int, l)
sorted

python可以用sorted函數實現默認的排序。對于數字,則根據數字大小進行排序。而對于字符串,則是根據字符串對應的Ascii碼表進行排序。

同時sorted也是一個高階函數,可以實現自定義的排序方式。

例如我們需要實現一個不區分大小寫的字符排序方式,則可以先將所有的字符轉化成小寫,然后再比較。
實現的自定義比較函數必須是接收兩個參數,三種返回結果:1,0,-1.

def my_compare(x, y):
    x = x.lower()
    y = y.lower()
    if x < y:
        return -1
    elif x == y:
        return 0
    else:
        return 1

print sorted(["a","B","c","d"],my_compare) 

#打印結果 ["a", "B", "c", "d"]

若你希望改成逆序,則調換一下返回值即可。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/38244.html

相關文章

  • Python進階筆記

    摘要:用匿名函數有個好處,因為函數沒有名字,不必擔心函數名沖突。和不同的是,把傳入的函數依次作用于每個元素,然后根據返回值是還是決定保留還是丟棄該元素。字符串給出當前平臺使用的行終止符。程序中間的退出,為正常退出。 列表生成式 函數的參數類型 lambda函數 map, reduce, filter, sorted函數 eval, exec, join, zip函數 itertools中的...

    ygyooo 評論0 收藏0
  • 3-函數式編程

    摘要:函數聲明為了代碼的可讀性,在定義一個函數的時候,最好有其函數參數的說明。裝飾器函數的代碼有一定的規律,寫起來大同小異,只是其中的業務邏輯不同。 函數聲明 為了代碼的可讀性,在定義一個函數的時候,最好有其函數參數的說明。示例: def func_test(s): :type s: str :rtype: str pass 實現這種效果可以通過插...

    MyFaith 評論0 收藏0
  • ApacheCN 人工智能知識樹 v1.0

    摘要:貢獻者飛龍版本最近總是有人問我,把這些資料看完一遍要用多長時間,如果你一本書一本書看的話,的確要用很長時間。為了方便大家,我就把每本書的章節拆開,再按照知識點合并,手動整理了這個知識樹。 Special Sponsors showImg(https://segmentfault.com/img/remote/1460000018907426?w=1760&h=200); 貢獻者:飛龍版...

    劉厚水 評論0 收藏0
  • SegmentFault 技術周刊 Vol.30 - 學習 Python 來做一些神奇好玩的事情吧

    摘要:學習筆記七數學形態學關注的是圖像中的形狀,它提供了一些方法用于檢測形狀和改變形狀。學習筆記十一尺度不變特征變換,簡稱是圖像局部特征提取的現代方法基于區域圖像塊的分析。本文的目的是簡明扼要地說明的編碼機制,并給出一些建議。 showImg(https://segmentfault.com/img/bVRJbz?w=900&h=385); 前言 開始之前,我們先來看這樣一個提問: pyth...

    lifesimple 評論0 收藏0

發表評論

0條評論

用戶83

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<