美文网首页
Python之集合筛选

Python之集合筛选

作者: Rokkia | 来源:发表于2016-11-23 16:50 被阅读37次

如何在列表,字典,集合中根据条件筛选

核心:使用生成式


列表:

生成随机列表:

from random import randint
data = [randint(-10,10) for _ in range(10)]  #for只是决定[]内循环的次数  筛选>=0的

筛选方法:

#方法1:
filter(lambda x: x >= 0,data)
#方法2:
[x for x in data if x >= 0]  #更快

#使用 timeit 测试
timeit filter(lambda x: x >= 0,data)
100000 loops, best of 3: 3.04 µs per loop

timeit [x for x in data if x >= 0]
1000000 loops, best of 3: 1.38 µs per loop
#明显使用生成式  要更节约时间
字典:

生成字典:

d = {x:randint(60,100) for x in range(1,21)}  #某班级20人分数60 - 90 筛选90以上的 

筛选方法:

{k:v for k,v in d.iteritems() if v > 90}
集合:
s = set(data) 使用列表的数据

筛选方法:

{x for x in s if x % 3 == 0}

相关文章

网友评论

      本文标题:Python之集合筛选

      本文链接:https://www.haomeiwen.com/subject/hwzppttx.html