99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2018-10-23 閱讀量: 998
python的map/reduce函數(shù)

python 的map與reduce函數(shù)怎么用?跟Hadoop的mapreduce框架有關(guān)系嗎?

python的map與reduce 與 Hadoop的mapreduce的思想是一樣的都是參照了谷歌的mapreduce論文思想。

1、map()函數(shù)

map()函數(shù)接收兩個參數(shù),一個是函數(shù),一個是Iterablemap將傳入的函數(shù)依次作用到序列的每個元素,并把結(jié)果作為新的Iterator返回。

>>> def f(x):
... return x * x
...
>>> r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> list(r)
[1, 4, 9, 16, 25, 36, 49, 64, 81]

map()傳入的第一個參數(shù)是f,即函數(shù)對象本身。由于結(jié)果r是一個Iterator,Iterator是惰性序列,因此通過list()函數(shù)讓它把整個序列都計算出來并返回一個list。

2、reduce()函數(shù)

reduce把一個函數(shù)作用在一個序列[x1, x2, x3, ...]上,這個函數(shù)必須接收兩個參數(shù),reduce把結(jié)果繼續(xù)和序列的下一個元素做累積計算,其效果就是:

reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

比方說對一個序列求和,就可以用reduce實現(xiàn):

>>> from functools import reduce
>>> def add(x, y):
... return x + y
...
>>> reduce(add, [1, 3, 5, 7, 9])
25
0.0000
1
關(guān)注作者
收藏
評論(0)

發(fā)表評論

暫無數(shù)據(jù)
推薦帖子