接收兩個引數,乙個是函式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 函式運算,最後得到...