如何在列表, 字典, 集合中根据条件筛选数据
过滤掉列表[3,6,-4,9,7,-8,9]的负数
新手方法:
data = [5,6,-8,3,-2,4,-7] res = [ ]for x in data; if x >=0; res.append(x) print (res)
improt random data = [random.randint(-10,10) for _ in range(10)] //生成 10个随机数
老鸟的做法
方法一:
data2 = filter(lambda x: x>=0 , data) print(list(data2))
方法二:
[x for x in data if x >=0]
筛选字典中高于90的项。
随机给20个学生生成60-100的分数 然后过滤过出分数大于90的人
d = {x: random.randint(60,100) for x in range(1,21) } {k:v for k, v in d.items() if v >= 90}
筛选集合中能被3整除的元素
把data中的数据做成集合然后再筛选出来。
s=set(data) {x for x in s if x % 3 ==0}
评论 1
掌握高级技巧能高效完成任务!