python中map()函數(shù)的使用方法示例
前言
在python里有一個函數(shù)map(),它有點高大上的感覺。本文將詳細給大家介紹python中map()函數(shù)使用的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細的介紹:
或許你已經(jīng)看過GOOGLE最掙錢的論文:
“MapReduce: Simplified Data Processing on Large Clusters”
Google的那篇MapReduce論文里說:Our abstraction is inspired by the map and reduce primitives present in Lisp and many other functional languages。
這句話提到了MapReduce思想的淵源,大致意思是,MapReduce的靈感來源于函數(shù)式語言(比如Lisp)中的內(nèi)置函數(shù)map和reduce。
那么map()到底是干什么呢?
其實map()函數(shù)就是一個數(shù)據(jù)集到另一個數(shù)據(jù)集的映射的關(guān)系,中間并沒有減少,或增加元素的。因此在python里,map()函數(shù)就是把多個列表對象里的元素,按順序取出來,然后放進函數(shù)里進行操作,計算出來結(jié)果。它是一個并行的關(guān)系,并沒有減少元素。
如下面例子:
#python 3. 6 #蔡軍生 #http://blog.csdn.net/caimouse/article/details/51749579 # def sum(x, y): return x + y list1 = [1, 3, 5, 7] list2 = [2, 4, 6, 8] result = map(sum, list1, list2) print([x for x in result])
輸出結(jié)果如下:
[3, 7, 11, 15]
同理,也可以把map函數(shù)處理的思想用到集群服務(wù)器上,就是把很多數(shù)據(jù)切分,然后對每一塊數(shù)據(jù)分別放到不同的電腦進行并行處理,并且都是同一種映射關(guān)系的計算,數(shù)據(jù)個數(shù)并沒有增加或減少。然后再把這些處理過的數(shù)據(jù),再集中到一起進行reduce過程。
至于python里的reduce()函數(shù)是怎么樣處理呢?大家可以通過這篇文章學(xué)習(xí)下。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
Python按行讀取文件的實現(xiàn)方法【小文件和大文件讀取】
這篇文章主要介紹了Python按行讀取文件的實現(xiàn)方法,結(jié)合實例形式分析了針對小文件和大文件的讀取方法,需要的朋友可以參考下2016-09-09Python+OpenCV圖像處理——實現(xiàn)輪廓發(fā)現(xiàn)
這篇文章主要介紹了Python+OpenCV實現(xiàn)輪廓發(fā)現(xiàn),幫助大家更好的利用python處理圖片,感興趣的朋友可以了解下2020-10-10Python基于機器學(xué)習(xí)方法實現(xiàn)的電影推薦系統(tǒng)實例詳解
這篇文章主要介紹了Python基于機器學(xué)習(xí)方法實現(xiàn)的電影推薦系統(tǒng),本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-06-06PyCharm+Pipenv虛擬環(huán)境開發(fā)和依賴管理的教程詳解
這篇文章主要介紹了PyCharm+Pipenv虛擬環(huán)境作開發(fā)和依賴管理的教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04跟老齊學(xué)Python之關(guān)于類的初步認識
這篇文章主要介紹了Python中關(guān)于類的一些術(shù)語解釋,雖然有些枯燥,但是要了解類的話,這些內(nèi)容是必須的2014-10-10