- map
map()
函数接收两个参数,一个是函数,一个是Iterable
, map
将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterable
返回。
举例:将列表内每个元素平方
>>> def f(x):
return x*x
>>> r = map(f, [1, 2, 3, 4, 5])
>>> list(r)
[1, 4, 9, 16, 25]
- reduce
reduce
把一个函数作用在一个序列上,这个函数必须接受两个参数,reduce
把结果继续和序列的下一个元素做累计计算
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
举例:对一个序列求和
>>> from functools import reduce
>>> def add(x,y):
return x + y
>>> reduce(add, [1, 3, 5, 7, 9])
25
这个例子只是为了说明reduce
的用法,求和运算可以直接用内建函数sun()
.