- filter()、map()、reduce()三个函数都可以传入 函数、列表等可迭代类型 的两个实参。
- 语法格式:
filter(函数,列表)
map(函数,列表)
reduce(函数,列表)
- 用法举例:
x = [1, 2, 3, 4, 5]
y = filter(lambda i: i>3, x)
print(type(y))
print(list(y))
y = map(lambda i: i*2,x)
print(type(y))
print(list(y))
- 使用 reduce() 函数,需要从functools模块导入
from functools import reduce
y = reduce(lambda a,b: a+b,x)
print(type(y))
print(y)
- filter()返回的是一个 filter 类型的数据,map 返回的是 map 类型的数据,使用数据时需要转换为list等类型,或使用for循环将数据取出。而 reduce返回的数据 类型会根据原数据决定,返回经过函数处理过的结果,可以直接使用。