python条件判断数据(解析、筛选)
Python条件筛选
- 解决方案
- 列表
- 列表
- filter函数
- 递归迭代
- 字典
- 集合
解决方案
列表
速度和效率方面:列表解析>filter函数>递归迭代
列表
from random import randint
data = [randint(-10,10) for _ in range(10)]
res = [y for y in data if y>=0]
print(res)
filter函数
from random import randint
data = [randint(-10,10) for _ in range(10)]
res = filter(lambda x: x>=0, data)
print(list(res))
递归迭代
res = []
for i in data:
if i >= 0:
res.append(i)
print(res)
字典
from random import randint
data_dic = {x:randint(60, 100) for x in range(1, 20)}
print('data_dic:', dict(data_dic))
res_dic = {k:v for k, v in data_dic.items() if v > 90}
print('res_dic:', res_dic)
集合
s = set(data)
res_set = {x for x in s if x%3 == 0 }
print('res_set:', res_set)