python中的reduce 函式

2021-09-25 09:21:11 字數 638 閱讀 1388

接收兩個引數,乙個是函式f,乙個是list,需要注意的是函式f必須接收兩個引數reduce()對list的每個元素反覆呼叫函式f,並返回最終結果。

舉個例子:

def f(x, y):

return x + y

print(reduce(f, [1, 3, 5, 7, 9]))

執行結果:

25
運算過程:

先計算頭兩個元素:f(1, 3),結果為4;

再把結果和第3個元素計算:f(4, 5),結果為9;

再把結果和第4個元素計算:f(9, 7),結果為16;

再把結果和第5個元素計算:f(16, 9),結果為25;

由於沒有更多的元素了,計算結束,返回結果25。

reduce()還可以接收第3個可選引數,作為計算的初始值。例如:

reduce(f, [1, 3, 5, 7, 9], 100)
得到的結果是:125

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 注意...

python中的reduce介紹

python中的reduce內建函式是乙個二元操作函式,他用來將乙個資料集合 鍊錶,元組等 中的所有資料進行下列操作 用傳給reduce中的函式 func 必須是乙個二元操作函式 先對集合中的第1,2個資料進行操作,得到的結果再與第三個資料用func 函式運算,最後得到乙個結果。如 def myad...

python中的reduce函式

python中的reduce python中的reduce內建函式是乙個二元操作函式,他用來將乙個資料集合 鍊錶,元組等 中的所有資料進行下列操作 用傳給reduce中的函式 func 必須是乙個二元操作函式 先對集合中的第1,2個資料進行操作,得到的結果再與第三個資料用func 函式運算,最後得到...