- map(func, *iterables)
将传入的函数依次作用在序列的每一个元素,并把结果作为新的Iterator返回
for i in map(lambda x: abs(x), [-1, 1]):
print(i)
# 1
# 1
for i in map(lambda x: x[0]+x[1], [(-1, 1), (1, 2)]):
print(i)
# 0
# 3
- reduce(function, sequence, initial=None)
一个函数作用在序列上,这个函数必须接受两个参数,reduce把结果继续和序列的下一个元素累计运算
initial如果指定,则作为第一个被使用的参数,相当于添加到sequence。如果sequence为空,则将initial设为默认的返回值(注意,空的意思是[],而不是None)
注意reduce只支持位置传参不支持关键字传参
reduce(lambda x, y: x+ y, [1,2,3])
# 6
reduce(lambda x, y: x+ y, [1,2,3], 10)
# 16
reduce(lambda x, y: x+ y, [], 10)
# 10