python如何在列表、对象、集合中根据条件筛选数据

筛选出列表mList中小于0的元素
mList = [1, 2, 3, 4, 5, 6, -1, -2]

1,使用匿名函数lambda和filter函数
# lambda x: 匿名函数, 参数(依次迭代列表中的每一个参数) 返回Boolean值

res1 = list(filter(lambda x: x < 0, mList))
=> res1 [-1,-2]

2,使用列表解析 效率更高
res2 = [x for x in mList if x < 0]
=> res2 [-1,-2]

筛选出字典Dict_data中值大于90的元素
Dict_data = {"悟空": 90, "悟净": 80, "悟能": 92}
res3 = {k: v for k, v in Dict_data.items() if v > 90}
=> res3 {'悟能': 92}

筛选出集合set_data中小于0的值
set_data = {1,2,55,-1,-2,-3,5}
res4 = {s for s in set_data if s<0}
=> res4 {-3, -1, -2}