python中的reduce方法

2021-08-15 22:21:36 字數 658 閱讀 8893

reduce函式接受的引數與map()類似,乙個函式,乙個列表,但行為與map不一樣,reduce()傳入的函式f必須接受兩個引數,reduce()對列表中的每個元素反覆呼叫函式f,並返回最終的結果值。

例如,編寫乙個函式,接受x和y,返回x和y的和:

>>

>

deff

(x,y):.

..return x+y..

.>>

>

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個引數,作為計算的初始值,例如將初始值設定為100,計算

>>

>

reduce

(f,[1,

3,5,

7,9]

,100

)125​

python中的reduce介紹

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

python中的reduce函式

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

python中的reduce 函式

接收兩個引數,乙個是函式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...