filter() 是 Python 内置的过滤函数,用于过滤序列中不符合条件的元素,返回一个 filter 对象(可迭代类型),其中包含所有通过筛选的元素。也就是通过bool值来过滤。
lst = [1, 2, 3, 4, 5, 6]
result = filter(lambda x: x % 2 == 0, lst)
print(result) # <filter object at 0x000001D8E036CD30>
print(list(result)) # 可以通过转化或者是推导式
date = [i for i in result]
print(date) # [2, 4, 6]
使用 lambda 表达式来定义一个匿名函数,该函数接受一个参数 x,并返回 x % 2 == 0 的结果。
然后,我们调用 filter 函数来过滤 lst 序列中的元素,将结果转换为 list 类型并输出。
然后filter() 返回的是一个可迭代类型,因此需要使用 list() 函数将其转换为列表或者 for 循环遍历获取筛选后的元素。