手记

【2023年】第70天 python中的迭代器

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)

结果:

0人推荐
随时随地看视频
慕课网APP