filter() 函数是 Python 内置的一个高阶函数,用于对序列(列表、元组、集合等)进行筛选。它的基本语法如下:
```python
filter(function, iterable)
```
其中,function 是一个返回布尔值的函数,用于判断 iterable 序列中的每个元素是否保留,如果返回 True,则保留该元素,否则过滤掉。iterable 是可迭代对象,例如列表、元组、集合等。
除了基本语法外,filter() 函数还可以和 lambda 表达式一起使用,它表示一种简洁的匿名函数写法。例如:
```python
result = filter(lambda x: x > 0, [-3, -2, 0, 1, 2, 3])
print(list(result)) # [1, 2, 3]
```
这段代码用 filter() 函数结合 lambda 表达式,将列表中大于 0 的元素筛选出来,并返回一个列表 [1, 2, 3]。
需要注意的是,在 Python 3 中,filter() 函数返回的是一个 filter 对象,需要通过 list() 或者其他迭代方式进行转换。