Python实用技巧之列表、字典、集合中根据条件筛选数据详解
1. 列表中筛选符合条件的数据
1.1 filter函数
filter函数是Python内置的过滤函数,可以用来过滤出符合指定条件的元素,返回一个迭代器,我们可以将其转换成列表。
示例代码:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 过滤出偶数
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)
输出:
[2, 4, 6, 8, 10]
1.2 列表推导式
列表推导式是Python提供的一种简化创建新列表的方式,可以用于条件筛选。
示例代码:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 列表推导式
even_numbers = [x for x in numbers if x % 2 == 0]
print(even_numbers)
输出:
[2, 4, 6, 8, 10]
2. 字典中筛选符合条件的数据
2.1 字典推导式
字典推导式与列表推导式类似,可以用于在字典中筛选符合条件的键值对,并创建新的字典。
示例代码:
scores = {'小明': 90, '小红': 88, '小刚': 75, '小美': 95}
# 字典推导式
high_scores = {k: v for k, v in scores.items() if v >= 90}
print(high_scores)
输出:
{'小明': 90, '小美': 95}
2.2 filter函数
字典的items方法返回一个包含所有键值对的元组列表,我们可以利用这个方法和filter函数来过滤符合条件的键值对。
示例代码:
scores = {'小明': 90, '小红': 88, '小刚': 75, '小美': 95}
# filter函数和lambda表达式
high_scores = dict(filter(lambda item: item[1] >= 90, scores.items()))
print(high_scores)
输出:
{'小明': 90, '小美': 95}
3. 集合中筛选符合条件的数据
3.1 filter函数
集合也可以使用filter函数进行过滤,返回一个新的集合。
示例代码:
numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
# 过滤出偶数
even_numbers = set(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)
输出:
{2, 4, 6, 8, 10}
3.2 集合推导式
集合推导式与列表推导式和字典推导式类似,可以用于在集合中筛选符合条件的元素,并创建新的集合。
示例代码:
numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
# 集合推导式
even_numbers = {x for x in numbers if x % 2 == 0}
print(even_numbers)
输出:
{2, 4, 6, 8, 10}
以上就是本文介绍的Python中列表、字典、集合的条件筛选技巧,希望能对大家的工作和学习有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实用技巧之列表、字典、集合中根据条件筛选数据详解 - Python技术站