Python 扯淡的Map-Reduce
发现Python具有类似Hadoop中的Map-reduce概念的标准函数,于是变搞来玩玩,发现还是蛮好玩的,虽然功能简陋了点,不过该做的都做了。
- map(func, *iterables) --> map object
- Make an iterator that computes the function using arguments from
- each of the iterables. Stops when the shortest iterable is exhausted.
该map的实现是一个采用的是生成器,也就是说调用一次__next__(),才会调用一次函数返回结果。
- def func(x,y):
- return x*y*2
- list=[1,2,3,4,5]
- result=map(func,list,list)
- print(result.__next__())
- for r in result:
- print(r)
其实map函数我们自己也可以实现一个版本:
- def map(func,*iters):
- for it in zip(*iters):
- yield func(*it)#一定要星号*,表示需要将it元组各个元素作为多个参数,而不是将整个列表作为一个参数
注:以上记过python 3.2测试通过,python 3以上版本apply(),callable(),exefile(),file(),reduce(),reload()等方法都被移除了。
相关推荐
IT之家 2020-03-11
graseed 2020-10-28
zbkyumlei 2020-10-12
SXIAOYI 2020-09-16
jinhao 2020-09-07
impress 2020-08-26
liuqipao 2020-07-07
淡风wisdon大大 2020-06-06
yoohsummer 2020-06-01
chenjia00 2020-05-29
baike 2020-05-19
扭来不叫牛奶 2020-05-08
hxmilyy 2020-05-11
黎豆子 2020-05-07
xiongweiwei00 2020-04-29
Cypress 2020-04-25
冰蝶 2020-04-20