Python filter() 内置函数
来自 Python 3 文档
简介
Python 中的 filter() 函数是一个内置函数,它允许您处理一个可迭代对象并提取满足特定条件的项。它返回一个包含满足条件的元素的 迭代器。
语法
filter(function, iterable)
- function: 对可迭代对象中每个项执行的函数。它应该为每个项返回
True或False。 - iterable: 要过滤的可迭代对象,例如列表、元组或字符串。
描述
filter() 函数从可迭代对象中构造一个迭代器,该迭代器包含函数返回 True 的那些元素。如果 function 为 None,它将移除可迭代对象中所有为 false 的元素。
示例
def is_even(num):
return num % 2 == 0
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(is_even, numbers))
print(even_numbers)
[2, 4, 6]
在此示例中,定义了 is_even 函数来确定一个数字是否为偶数。filter 方法接受 两个参数:第一个参数 是应用于列表每个元素的函数,第二个参数 是要过滤的列表。filter 方法返回一个 迭代器,该迭代器随后被转换为列表并存储在 even_numbers 变量中。最终输出是原始列表中偶数的列表。
相关链接
- map(): 将函数应用于可迭代对象的每个项,并返回结果的迭代器。
- iter(): 返回一个迭代器对象。
- 列表推导式 (List Comprehensions): 创建列表的简洁方法,通常用作
filter()的替代方案。 - 推导式 (Comprehensions)
- 函数 (Functions)
- reduce()