3.map()/reduce()
格式:map( func, seq1[, seq2...] )
Python函数式编程中的map()函数是将func作用于seq中的每一个元素,并用一个列表给出返回值。如果func为None,作用同zip().
map()函数功能是:map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。
在python2中,map()函数返回值是list类型,在python3.6中返回值改为map object类型,遍历前要转换成list才可以
def f(x,y):
return {x:y}
a=[1,2]
b=['c','d']
list(map(f,a,b)) #如果不加list,将返回<map object 0x...>
Out[]: [{1: 'c'}, {2: 'd'}
2.reduce()
格式:reduce( func, seq[, init] )
reduce函数即为化简,它是这样一个过程:每次迭代,将上一次的迭代结果(第一次时为init的元素,如没有init则为seq的第一个元素)与下一个元素一同执行一个二元的func函数。在reduce函数中,init是可选的,如果使用,则作为第一次迭代的第一个元素使用
m = 2
n = 5
print reduce( lambda x, y: x * y, range( 1, n + 1 ), m )