Python 内置函数 filter()
时间: 2024-07-01 12:01:19 浏览: 65
Python中的内置函数
在Python中,`filter()`是一个内置函数,它属于高阶函数,主要用于过滤序列(如列表、元组或字符串)中的元素,根据提供的测试函数返回一个迭代器,只包含测试函数为True的元素。这个函数接受两个参数:
1. **函数**:一个用于测试序列中每个元素的可调用对象(通常是一个布尔函数),它接收一个参数,该参数是序列中的一个元素,并返回True或False。
2. **序列**:你想要过滤的列表、元组或其他可迭代对象。
使用`filter()`函数的语法通常是这样的:
```python
filtered_sequence = filter(function, iterable)
```
它不会立即对序列进行过滤,而是生成一个迭代器,这样可以节省内存,特别是在处理大型数据集时。
例如,假设我们有一个数字列表,我们可以用`filter()`来筛选出所有的偶数:
```python
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
```
在这个例子中,`lambda x: x % 2 == 0`是一个测试函数,如果元素是偶数,它返回True,否则返回False。
阅读全文