map && reduce
map
接收一个函数名和一到多个可迭代序列。将序列的值逐个赋值到函数中处理并生成新的迭代器。
#单参数函数
>>> map(abs,range(-3,4))
[3, 2, 1, 0, 1, 2, 3]
#多参数函数
>>> map(pow,range(3),[2,2,2])
[0, 1, 4]
reduce
reduce把一个函数作用在一个序列[x1, x2, x3, …]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算。
>>> reduce(pow,range(2,5))
4096
#相当于:
>>> pow(pow(2,3),4)
4096