python函数式编程-map/reduce

一、map
1.用法

map(fun, Iterable)
map会依次将Iterable 的成员带入fun,并将返回的结果作为新的Iterator返回。也就是返回结果是迭代器,是惰性序列。我们可以通过list() 方法计算出整个序列,并返回一个list。
map的fun可以是自定义函数,也可以是系统的函数

2.例子

In [53]: def addfun(x):
...:     return x*2
...:
In [55]: list(map(addfun,range(8)))
Out[55]: [0, 2, 4, 6, 8, 10, 12, 14]

二、reduce
1.用法

首先 from functools import reduce 导入
reduce(fun,Iterable)
和map不同的是,reduce接收的函数必须是两个参数,reduce会将函数的结果继续和Iterable的下一个成员做累计计算

2.例子

In [61]: def addfun(x,y):
...:     return x+y
...:
In [62]: reduce(addfun,range(8))
Out[62]: 28

你可能感兴趣的:(python函数式编程-map/reduce)