在 Python 中,filter() 是一种内置函数,用于过滤序列中不符合特定条件的元素,返回符合条件的元素组成的迭代器。filter() 函数需要传入两个参数,第一个参数是一个函数,用于对序列中的每个元素进行判断;第二个参数是一个序列。filter() 函数会对序列中的每个元素依次执行匿名函数,如果返回值为 True,则保留该元素,否则过滤掉该元素。下面是一个简单的例子:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)
在上述代码中,我们将 numbers 序列中的偶数保留下来,并将它们存储在 even_numbers 列表中。我们使用了一个匿名函数 lambda x: x % 2 == 0,该函数返回一个布尔值,判断其参数 x 是否为偶数。我们将这个函数传给了 filter() 函数,并将 numbers 序列作为第二个参数。filter() 函数将遍历 numbers 序列中的每个元素,对其执行匿名函数,并返回满足条件的元素组成的迭代器。最后,我们将迭代器转换为列表并打印输出。
需要注意的是,filter() 函数返回的是一个迭代器对象,如果需要获取一个列表,需要使用 list() 函数将迭代器转换为列表。另外,filter() 函数也可以配合其他函数来使用,例如 map() 函数,可以实现对序列的处理。