Python reduce() 函數(shù)

2019-03-15 11:27 更新

Python reduce() 函數(shù)

Python 內(nèi)置函數(shù) Python 內(nèi)置函數(shù)

描述

Python reduce() 函數(shù)會對參數(shù)序列中元素進(jìn)行累積。

函數(shù)將一個數(shù)據(jù)集合(鏈表,元組等)中的所有數(shù)據(jù)進(jìn)行下列操作:用傳給 reduce 中的函數(shù) function(有兩個參數(shù))先對集合中的第 1、2 個元素進(jìn)行操作,得到的結(jié)果再與第三個數(shù)據(jù)用 function 函數(shù)運(yùn)算,最后得到一個結(jié)果。

語法

reduce() 函數(shù)語法:

reduce(function, iterable[, initializer])

參數(shù)

  • function:函數(shù),有兩個參數(shù)
  • iterable:可迭代對象
  • initializer:可選,初始參數(shù)

返回值

返回函數(shù)計(jì)算結(jié)果。

實(shí)例

以下實(shí)例展示了 reduce() 的使用方法:

>>>def add(x, y) : # 兩數(shù)相加
... return x + y
...
>>> reduce(add, [1,2,3,4,5]) # 計(jì)算列表和:1+2+3+4+5
15
>>> reduce(lambda x, y: x+y, [1,2,3,4,5]) # 使用 lambda 匿名函數(shù)
15

拓展

在 Python3 中,reduce() 函數(shù)已經(jīng)被從全局名字空間里移除了,它現(xiàn)在被放置在 functools 模塊里,如果想要使用它,則需要通過引入 functools 模塊來調(diào)用 reduce() 函數(shù):

from functools import reduce

實(shí)例:

from functools import reduce

def add(x,y):
    return x + y

print (reduce(add, range(1, 101)))

輸出結(jié)果為:

5050

Python 內(nèi)置函數(shù) Python 內(nèi)置函數(shù)

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號