1. filter函数
- 对循环根据过滤条件进行过滤
- 用法:filter(func, list)
- 参数介绍:func,对list每个item进行条件过滤的定义
- list需要过滤的列表
res = filter(lambda x: x > 1, [0, 1, 2])
返回值:<filter object at 0x000001FC8512B0A0>
2. map函数
- 对列表中的每个成员一次执行函数,将执行结果放到新的list中,返回map对象。
- 用法:map(func, list)
- 参数介绍:func,对list每个item进行条件满足的判断
- list,需要过滤的列表
res = map(lambda x:x > 1, [0, 1, 2])
print(res)
3. reduce功能
- 对循环前后两个数据进行累加
- 用法:reduce(func, list)
- 参数介绍:func,对数据累加的函数
- list,需要过滤的列表
from functools import reduce
res = reduce(lambda x, y: x+y, [0, 1, 2])
print(res)
4. 案例
from functools import reduce
frunts = ['apple', 'banana', 'orange']
result = filter(lambda x: 'e' in x, frunts)
print(list(result))
print(frunts)
def filter_func(item):
if 'e' in item:
return True
print('-------------')
filter_result = filter(filter_func, frunts)
print(list(filter_result))
map_result = map(filter_func, frunts)
print(list(map_result))
reduce_result = reduce(lambda x, y: x*y, [1, 1, 2])
print(reduce_result)
reduce_result_str = reduce(lambda x, y: x+y, frunts)
print(reduce_result_str)
结果: