Python如何在列表、对象、集合中按条件筛选数据
▶ 在列表中筛选数据
有两种方法在列表中按条件筛选数据,一种是使用 lambda + filter,一种是列表解析
例如,筛选出列表 cl 中小于0的元素
cl = [1, 2, 3, 4, 5, 6, -1, -2]
方法1:使用匿名函数lambda和filter函数
#lambda x: 匿名函数, 参数(依次迭代列表中的每一个参数) 返回Boolean值
res1 = list(filter(lambda x: x < 0, cl))
print(res1)
输出:[-1,-2]
方法2:使用列表解析 效率更高
res2 = [x for x in cl if x < 0]
print(res2)
输出:[-1,-2]
▶ 在字典中筛选数据
使用字典解析按条件筛选数据
例如,筛选出字典 cd 中值大于90的元素
cd = {"悟空": 90, "悟净": 80, "悟能": 92}
res3 = {k: v for k, v in cd.items() if v > 90}
print(res3)
输出:{'悟能': 92}
▶ 在集合中筛选数据
筛选出集合 cs 中小于0的值
cs = {1,2,55,-1,-2,-3,5}
res4 = {s for s in cs if s<0}
print(res4)
输出:{-3, -1, -2}
我的笔记