原|2024-01-27 18:51:03|浏览:73
filter是一个函数,它用于过滤序列(如列表、元组、集合等)中的元素,并返回满足指定条件的元素。filter函数接受两个参数:一个是函数,一个是序列。函数参数是一个判断条件的函数,用于对序列中的每个元素进行判断。序列参数是待过滤的序列。filter函数返回一个迭代器,其中包含满足条件的元素。
具体来说,filter函数会遍历序列中的每个元素,然后将元素传入函数进行判断。如果函数返回True,则将该元素保留;如果函数返回False,则将该元素过滤掉。最终,filter函数返回的迭代器中只包含满足条件的元素。
示例代码:
```
def is_even(num):
return num % 2 == 0
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = filter(is_even, numbers)
for num in even_numbers:
print(num)
```
输出结果为:
```
2
4
6
8
10
```
上述代码中,is_even函数用于判断一个数是否为偶数。filter函数根据is_even函数的判断结果,过滤出序列numbers中的偶数,并将它们放入一个迭代器even_numbers中。最后,通过循环遍历even_numbers,并打印出所有的偶数。