map有两个参数: 函数,变量
reduce有三个参数:函数,变量,初始值
初始值可加可不加
reduce只可对一个序列从前到后执行函数,并将前一个得到的函数值,作为下一次执行函数的第一个变量值
from functools import reduce
list_x = [1,2,3,4]
list_y = [1,2,3,4,5,6,7,8,9]
r = map(lambda x,y: x*x+y,list_x,list_y)
print(list(r))
r1 = reduce(lambda x,y: x+y,list_x)
print(r1)
r1 = reduce(lambda x,y: x+y,list_x,10)
print(r1)
输出;
filter起一个过滤器的作用
以下例子,使用filter过滤掉了大写字母
from functools import reduce
list_x = ['a','D','G','b','c']
r = filter(lambda x: True if (x<='z' and x>='a') else False, list_x)
print(list(r))
输出: