map()函数接收两个参数,一个是函数,一个是Iterator,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。
>>> def f (x):
... return x * x
... >>> r = map(f,[1,2,3,4,5,6,7])
>>> r
>>> list(r)
[1, 4, 9, 16, 25, 36, 49]
>>> from functools import reduce
>>> def add(x,y):
... return x + y
...
>>> reduce(add,[1,3,5,7,9])
25
如果要只是求和的话,可以使用map函数,
>>> sum([1,2,3,4,5])
15
>>> from functools import reduce
>>> def fn(x,y):
... return 10*x + y
...
>>> reduce(fn,[1,2,3,4])
1234
>>> reduce(fn,[1,3,5,7])
1357
>>>