python中reduce()函數(shù)的使用方法示例
前言
本文主要給大家介紹了關(guān)于python中reduce()函數(shù)使用的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細(xì)的介紹:
reduce()函數(shù)在庫functools里,如果要使用它,要從這個(gè)庫里導(dǎo)入。reduce函數(shù)與map函數(shù)有不一樣地方,map操作是并行操作,reduce函數(shù)是把多個(gè)參數(shù)合并的操作,也就是從多個(gè)條件簡(jiǎn)化的結(jié)果,在計(jì)算機(jī)的算法里,大多數(shù)情況下,就是為了簡(jiǎn)單化。比如識(shí)別圖像是否是一只貓,那么就是從眾多的像素里提煉出來一個(gè)判斷:是或否??赡苁菐装偃f個(gè)像素,就只出來一個(gè)結(jié)果。在GOOGLE大規(guī)模集群里,就是利用這個(gè)思想,把前面并行處理的操作叫做map,并行處理之后的結(jié)果,就需要簡(jiǎn)化,歸類,把這個(gè)簡(jiǎn)化和歸類的過程就叫做reduce。由于reduce只能在一臺(tái)主機(jī)上操作,并不能分布式地處理,但是reduce處理的是map結(jié)果,那么意味著這些結(jié)果已經(jīng)非常簡(jiǎn)單,數(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
在這個(gè)例子里,其實(shí)計(jì)算過程是這樣的:
((((1+2)+3)+4)+5)

再看一個(gè)階乘的例子:
#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ù)會(huì)對(duì)參數(shù)序列中元素進(jìn)行累積。
reduce函數(shù)的定義:
reduce(function, sequence[, initial]) -> value
function參數(shù)是一個(gè)有兩個(gè)參數(shù)的函數(shù),reduce依次從sequence中取一個(gè)元素,和上一次調(diào)用function的結(jié)果做參數(shù)再次調(diào)用function。
第一次調(diào)用function時(shí),如果提供initial參數(shù),會(huì)以sequence中的第一個(gè)元素和initial作為參數(shù)調(diào)用function,否則會(huì)以序列sequence中的前兩個(gè)元素做參數(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é)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- Python3 使用map()批量的轉(zhuǎn)換數(shù)據(jù)類型,如str轉(zhuǎn)float的實(shí)現(xiàn)
- 淺談python3.x pool.map()方法的實(shí)質(zhì)
- python 內(nèi)置函數(shù)-range()+zip()+sorted()+map()+reduce()+filter()
- Python filter()及reduce()函數(shù)使用方法解析
- 使用Python中的reduce()函數(shù)求積的實(shí)例
- Python reduce()函數(shù)的用法小結(jié)
- python3的map與reduce實(shí)例詳解
相關(guān)文章
解決python錯(cuò)誤提示:TypeError: expected string or&nb
這篇文章主要介紹了解決python錯(cuò)誤提示:TypeError: expected string or bytes-lik問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
Python configparser模塊配置文件解析與應(yīng)用探究
在Python中,configparser模塊是用于處理配置文件的重要工具,本文將全面探討configparser模塊的使用方法,包括讀取、修改、寫入配置文件,以及如何在實(shí)際項(xiàng)目中應(yīng)用該模塊,結(jié)合豐富的示例代碼,將深入剖析該模塊的功能和靈活性2024-01-01
Python使用OpenCV和K-Means聚類對(duì)畢業(yè)照進(jìn)行圖像分割
圖像分割是將圖像分割成多個(gè)不同區(qū)域(或片段)的過程。目標(biāo)是將圖像的表示變成更容易和更有意義的圖像。在這篇博客中,我們?cè)敿?xì)的介紹了使用方法,感興趣的可以了解一下2021-06-06
wxPython實(shí)現(xiàn)整點(diǎn)報(bào)時(shí)
這篇文章主要為大家詳細(xì)介紹了wxPython實(shí)現(xiàn)整點(diǎn)報(bào)時(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11

