欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中map()函數(shù)的使用方法示例

 更新時間:2017年09月29日 10:52:05   作者:caimouse  
map()是 Python 內(nèi)置的高階函數(shù),它接收一個函數(shù) f 和一個 list,并通過把函數(shù) f 依次作用在 list 的每個元素上,得到一個新的 list 并返回。下面這篇文章主要給大家介紹了關(guān)于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)文章

最新評論