Python學習 reduce 函式的用法

2021-08-07 03:29:43 字數 909 閱讀 5518

reduce()函式在python3.0中已經不是bif函式了,使用前需要通過匯入:

from functools import reduce
reduce(func,seq)函式是一種自動迭代吧,把序列中的前兩個元素匯入到函式中,得到乙個新的引數,並同序列中的下乙個元素一起作為函式的新的兩個引數,依次進行,最後返回乙個函式值。

以最簡單的陣列元素想加為例。

使用迴圈語句,(c語言的風格吧):

sumnum = 0

for i in range(5):

sumnum += i

print(sunnum)

得到結果:

10
採用reduce()函式的方法,如下:

from functools import reduce

sumnum = redece(lambda x,y:x+y,range(5))

print(sumnum)

得到:

10
tips:這裡使用了lambda()函式,顯得很pythonic……

——————————————————————————————

11/26 補充:

reduce(lambda a, b : a & b, list(map(dict.keys, [dict1, dict2, dict3])))
一行**搞定,同時運用了reduce, lambda, map函式,更加pythonic了…

python 的map和reduce(高階函式)

map 函式接受兩個引數,乙個是函式 f 乙個是可迭代物件iterable map將傳入的函式依次作用到序列的每個元素,並把結果作為新的迭代器iterator 返回 例如 def f x return x x r map f,1,2,3,4,5 r 是乙個迭代器 list r 將r變成list 注意...

map函式 filter函式 reduce函式

map函式 map函式的結構為 map 處理方法,可迭代物件 相當於for迴圈遍歷可迭代物件中的每乙個元素,對每乙個元素做指定操作,得到乙個和原始資料順序相同的迭代器。在python3中最終得到的結果是乙個迭代器,可以用list 函式轉化為列表,在python2中map函式的結果就是乙個列表。map...

Python學習 reduce的使用

from functools import reduce 意思就是對sequence連續使用function,如果不給出initial,則第一次呼叫傳遞sequence的兩個元素,以後把前一次呼叫的結果和sequence的下乙個元素傳遞給function.如果給出initial,則第一次傳遞init...