Python 中的 filter() 函数:过滤列表、元组和字典356
Python 中的 filter() 函数用于过滤序列中的元素,仅保留满足指定条件的元素。它返回一个生成器对象,该对象可以遍历过滤后的序列。
语法```python
filter(function, iterable)
```
* function:一个接受一个参数并返回 True 或 False 的函数。如果该函数对某个元素返回 True,该元素将包含在输出序列中。
* iterable:要过滤的序列,例如列表、元组或字典。
过滤列表
以下示例显示如何使用 filter() 函数从列表中过滤偶数:```python
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = filter(lambda x: x % 2 == 0, numbers)
print(list(even_numbers)) # 输出:[2, 4, 6, 8, 10]
```
过滤元组
元组是不可变的序列,因此无法修改。不过,可以使用 filter() 函数创建元组的过滤副本,其中仅包含满足特定条件的元素:```python
fruits = ("apple", "banana", "cherry", "durian", "elderberry")
filtered_fruits = filter(lambda fruit: ("e"), fruits)
print(tuple(filtered_fruits)) # 输出:('elderberry',)
```
过滤字典
filter() 函数也可以用于过滤字典中的键值对。以下示例显示如何从字典中过滤具有特定值的键:```python
user_info = {
"name": "John Doe",
"age": 30,
"email": "@",
"city": "New York"
}
filtered_user_info = filter(lambda item: item[1] == "New York", ())
print(dict(filtered_user_info)) # 输出:{'city': 'New York'}
```
自定义函数
filter() 函数使用一个函数作为第一个参数,该函数确定每个元素是否包含在输出序列中。你可以使用任何满足以下条件的函数:* 接受一个参数
* 返回 True 或 False
以下示例定义了一个自定义函数,用于过滤列表中的字符串:```python
def is_long_string(string):
return len(string) > 5
words = ["hello", "world", "this", "is", "a", "long", "string"]
long_words = filter(is_long_string, words)
print(list(long_words)) # 输出:['hello', 'world', 'string']
```
Python 中的 filter() 函数是一个强大的工具,用于从序列中过滤元素。它允许你根据特定条件选择性地提取数据,使其成为数据处理和分析中的宝贵工具。
2024-10-17
上一篇:Python 中的代码缩进
Python字符串查找与判断:从基础到高级的全方位指南
https://www.shuihudhg.cn/134118.html
C语言如何高效输出字符串“inc“?深度解析printf、puts及格式化输出
https://www.shuihudhg.cn/134117.html
PHP高效获取CSV文件行数:从小型文件到海量数据的最佳实践与性能优化
https://www.shuihudhg.cn/134116.html
C语言控制台图形输出:从入门到精通的ASCII艺术实践
https://www.shuihudhg.cn/134115.html
Python在Linux环境下的执行与自动化:从基础到高级实践
https://www.shuihudhg.cn/134114.html
热门文章
Python 格式化字符串
https://www.shuihudhg.cn/1272.html
Python 函数库:强大的工具箱,提升编程效率
https://www.shuihudhg.cn/3366.html
Python向CSV文件写入数据
https://www.shuihudhg.cn/372.html
Python 静态代码分析:提升代码质量的利器
https://www.shuihudhg.cn/4753.html
Python 文件名命名规范:最佳实践
https://www.shuihudhg.cn/5836.html