全國咨詢熱線:400-618-4000

布莱顿灵魂:python的reduce函數用法介紹[python培訓]

布莱顿prime怎么获得 www.wnjebw.com.cn 創建時間:2019年10月31日16時02分

reduce函數會對參數迭代器中的元素進行累積。

reduce函數的定義如下:

functools.reduce(function, iterable[, initializer])


在上述定義中,function是一個帶有兩個參數的函數;第2個參數iterable是一個迭代器對象;initializer表示固定的初始值。reduce函數會依次從迭代器對象中取出每個元素,和上一次調用function的結果做為參數再次調用function函數。在Python3中,reduce函數被放置在functors??櫓?,使用時需要先引入,示例代碼如下:
 


from functools import reduce
func = lambda x, y: x + y
result = reduce(func, [1, 2, 3, 4, 5])
print(result)

 
在上述示例中,首先引入了fucntools???,然后定義了一個計算兩個數的和的匿名函數。
由于在調用 reduce函數時傳入了func和序列,所以程序會把序列的每個元素取出來,和上次調用后的結果作為參數再次調用func函數,最后將結果返回給 result?!就萍雋私猓捍遣タ?a href="//www.wnjebw.com.cn/python/"> python+人工智能課程】
程序的運行結果如下所示:


15

如果在調用reduce函數時傳入了initializer參數,那么function函數會以迭代器中的第一個元素與initializer的和作為參數進行調用。示例代碼如下:【插播福利:2019傳智播客python視頻教程全集下載
 


from functools import reduce
result = reduce (lambda x, y: x + y, [1, 2, 3, 4], 5)
print(result)
# 結果為
15

此外,iterable參數還可以傳入字符串類型,示例代碼如下:


from functools import reduce
result = reduce(lambda x, y: x + y, ['aa', 'bb', 'cc'], 'dd')
print(result)
# 結果為
'aabbccdd'


本文來自:傳智播客 python+人工智能學院  python.www.wnjebw.com.cn


猜你喜歡:python filter函數用法
1000炮捕鱼游戏 绑定的银行卡怎么赚钱到微信 金尊彩票安卓 90级剑魂刷什么图赚钱 盛世皇朝游戏 要努力赚钱我喜欢的东西的都很贵 李逵劈鱼龙企鹅技巧 斗鱼虎牙那个赚钱 有赚网打码赚钱视频 在上海读大学怎么赚钱 中国人在缅甸赌场怎么赚钱 秒拍视频如何赚钱吗 多多赚-手机赚钱 梦幻西游炼烹饪赚钱 烧烤摊没有海货赚钱吗 有没有不用下载就可以赚钱的软件下载