python中reduce()函數(shù)的使用方法示例
前言
本文主要給大家介紹了關(guān)于python中reduce()函數(shù)使用的相關(guān)內(nèi)容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹:
reduce()函數(shù)在庫functools里,如果要使用它,要從這個庫里導入。reduce函數(shù)與map函數(shù)有不一樣地方,map操作是并行操作,reduce函數(shù)是把多個參數(shù)合并的操作,也就是從多個條件簡化的結(jié)果,在計算機的算法里,大多數(shù)情況下,就是為了簡單化。比如識別圖像是否是一只貓,那么就是從眾多的像素里提煉出來一個判斷:是或否??赡苁菐装偃f個像素,就只出來一個結(jié)果。在GOOGLE大規(guī)模集群里,就是利用這個思想,把前面并行處理的操作叫做map,并行處理之后的結(jié)果,就需要簡化,歸類,把這個簡化和歸類的過程就叫做reduce。由于reduce只能在一臺主機上操作,并不能分布式地處理,但是reduce處理的是map結(jié)果,那么意味著這些結(jié)果已經(jīng)非常簡單,數(shù)據(jù)量大大減小,處理起來就非常快。
因此可以把mapreduce過程叫做分析歸納的過程。
看一下面reduce()的例子:
#python 3. 6 #蔡軍生 #http://blog.csdn.net/caimouse/article/details/51749579 # from functools import reduce result = reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) print(result)
輸出結(jié)果:
15
在這個例子里,其實計算過程是這樣的:
((((1+2)+3)+4)+5)
再看一個階乘的例子:
#python 3. 6 #蔡軍生 #http://blog.csdn.net/caimouse/article/details/51749579 # from functools import reduce n = 3 print(reduce(lambda x, y: x * y, range(1, n + 1))) # 6
輸出結(jié)果:
6
reduce函數(shù),reduce函數(shù)會對參數(shù)序列中元素進行累積。
reduce函數(shù)的定義:
reduce(function, sequence[, initial]) -> value
function參數(shù)是一個有兩個參數(shù)的函數(shù),reduce依次從sequence中取一個元素,和上一次調(diào)用function的結(jié)果做參數(shù)再次調(diào)用function。
第一次調(diào)用function時,如果提供initial參數(shù),會以sequence中的第一個元素和initial作為參數(shù)調(diào)用function,否則會以序列sequence中的前兩個元素做參數(shù)調(diào)用function。
reduce(lambda x, y: x + y, [2, 3, 4, 5, 6], 1)
結(jié)果為21( (((((1+2)+3)+4)+5)+6) )
reduce(lambda x, y: x + y, [2, 3, 4, 5, 6])
結(jié)果為20
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
Python2.6版本中實現(xiàn)字典推導 PEP 274(Dict Comprehensions)
這篇文章主要介紹了Python2.6版本中實現(xiàn)字典推導 PEP 274(Dict Comprehensions),本文給出了表達式寫法和for循環(huán)寫法兩種方法實現(xiàn)字符推導,需要的朋友可以參考下2015-04-04tensorflow2.0的函數(shù)簽名與圖結(jié)構(gòu)(推薦)
這篇文章主要介紹了tensorflow2.0的函數(shù)簽名與圖結(jié)構(gòu),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04如何用python復制粘貼excel指定單元格(可保留格式)
這篇文章主要給大家介紹了關(guān)于如何用python復制粘貼excel指定單元格(可保留格式)的相關(guān)資料,利用python操作excel非常方便,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-07-07python 工具 字符串轉(zhuǎn)numpy浮點數(shù)組的實現(xiàn)
這篇文章主要介紹了python 工具 字符串轉(zhuǎn)numpy浮點數(shù)組的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03Python實現(xiàn)讀取txt文件并轉(zhuǎn)換為excel的方法示例
這篇文章主要介紹了Python實現(xiàn)讀取txt文件并轉(zhuǎn)換為excel的方法,涉及Python針對txt文件的讀取及Excel格式文件生成相關(guān)操作技巧,需要的朋友可以參考下2018-05-05