py.中filter的用法
时间: 2024-05-09 07:15:58 浏览: 11
在 Python 中,`filter()` 是一个内置函数,用于过滤序列(列表、元组等)中的元素,并返回一个符合条件的元素列表。它的基本语法如下:
```python
filter(function, iterable)
```
其中,`function` 是一个接受一个参数并返回布尔值的函数,`iterable` 是一个可迭代的序列(如列表、元组、字符串等)。
`filter()` 函数将 `function` 应用于 `iterable` 的每个元素,如果 `function` 返回 `True`,则将该元素加入到结果列表中,否则不加入。最终返回一个包含符合条件的元素的新列表。
以下是一个简单的例子,用于筛选列表中的偶数:
```python
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def is_even(n):
return n % 2 == 0
even_numbers = list(filter(is_even, numbers))
print(even_numbers) # 输出 [2, 4, 6, 8, 10]
```
在这个例子中,`is_even()` 函数接受一个参数 `n`,并返回 `n` 是否为偶数的布尔值。`filter()` 函数在 `numbers` 列表中遍历每个元素,并将它传递给 `is_even()` 函数。如果 `is_even()` 返回 `True`,则该元素将被加入到 `even_numbers` 列表中。
注意:`filter()` 函数返回的是一个迭代器,如果需要将其转换为列表,需要使用 `list()` 函数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)