详解Python在列表,字典,集合中根据条件筛选数据

  • Post category:Python

Python提供了很多方法用于从列表、字典与集合中筛选满足条件的数据。下面我将详细讲解Python在列表,字典,集合中根据条件筛选数据使用方法的完整攻略。

筛选列表中的数据

filter()方法

filter()方法用于从列表中筛选满足条件的数据,返回一个迭代器。语法如下:

filter(function, iterable)

其中,function是一个函数,iterable是一个列表。

示例代码:

# 筛选偶数
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9]
evens = list(filter(lambda x : x % 2 == 0, nums))
print(evens)

输出结果:

[2, 4, 6, 8]

列表解析

列表解析是一种快速、简单地从列表中筛选满足条件的数据的方法。语法如下:

[expression for item in list if condition]

其中,expression是一个表达式,item是列表中的元素,condition是满足条件的表达式。

示例代码:

# 筛选偶数
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9]
evens = [x for x in nums if x % 2 == 0]
print(evens)

输出结果:

[2, 4, 6, 8]

筛选字典中的数据

字典解析

字典解析是一种快速、简单地从字典中筛选满足条件的数据的方法。语法与列表解析相似:

{key:value for (key,value) in dic.items() if condition}

其中,key:value是字典中的键值对,condition是满足条件的表达式。

示例代码:

# 筛选value为偶数的键值对
numbers = {"A":1, "B":4, "C":7, "D":8, "E":9}
evens = {k:v for k,v in numbers.items() if v % 2 == 0}
print(evens)

输出结果:

{'B': 4, 'D': 8}

筛选集合中的数据

集合解析

集合解析是一种快速、简单地从集合中筛选满足条件的数据的方法。语法与列表解析相似:

{expression for item in set if condition}

其中,expression是一个表达式,item是集合中的元素,condition是满足条件的表达式。

示例代码:

# 筛选偶数
nums = {1, 2, 3, 4, 5, 6, 7, 8, 9}
evens = {x for x in nums if x % 2 == 0}
print(evens)

输出结果:

{8, 2, 4, 6}

以上就是Python在列表,字典,集合中根据条件筛选数据使用方法的完整攻略,并且提供了两条示例说明。