map 和 reduce 和 filter 函式

2021-08-30 21:33:18 字數 1027 閱讀 5869

>>> def f(x):

... return x * x

...>>> map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])

[1, 4, 9, 16, 25, 36, 49, 64, 81]

map()傳入的第乙個引數是f,即函式物件本身。map()作為高階函式,事實上它把運算規則抽象了,因此,我們不但可以計算簡單的f(x)=x2,還可以計算任意複雜的函式,比如,把這個list所有數字轉為字串:

>>> map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9])

['1', '2', '3', '4', '5', '6', '7', '8', '9']

reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
>>> def fn(x, y):

... return x * 10 + y

...>>> reduce(fn, [1, 3, 5, 7, 9])

13579

#把序列[1, 3, 5, 7, 9]變換成整數13579

>>> def add(x, y):

... return x + y

...>>> reduce(add, [1, 3, 5, 7, 9])

25

filter(function, iterable)
#過濾出列表中的所有奇數

def is_odd(n):

return n % 2 == 1

tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

newlist = list(tmplist)

print(newlist)

#輸出結果

[1, 3, 5, 7, 9]

從Map和Reduce說起

從map和reduce說起 最近在看函式式程式設計的一些東西,尤其是sheme和python,有些困惑,遂寫下一些東西。在python中,map reduce filter是函式式程式設計的一組重要的工具.map將過程 函式 應用於資料以產生新的資料,而reduce則是將資料進行歸併.下面的語句分別...

map 函式和reduce 函式

map 函式 也稱對映物件函式,接受兩個引數,第乙個是函式,第二個是序列。map 將傳入的函式依次作用到序列的每個元素並把結果作為list返回。map返回的結果是乙個可迭代的map物件,可以使用 next 獲取值,也可使用for迴圈迭代獲取或者直接轉換為list獲取更加暴力。def demo x r...

map和reduce函式簡介

map函式會根據提供的函式對指定序列做對映。其語法為 map function,iterable 也就是對iterable中的每乙個元素進行function的運算,並返回乙個迭代器。我們想要實現這樣乙個目的 判斷乙個數是奇數還是偶數,並返回乙個列表,列表中包含判斷結果。首先我們定義乙個函式用於判斷並...