列表,字典,集合按条件筛选

使用filter()或列表解析,第二种方法更高效。
例一(列表,集合筛选):
from random import randint

data = [randint(-10, 10) for _ in xrange(10)]

print filter(lambda x:x>=0, data) #方法一:filter()函数

print [x for x in data if x>=0]#方法二:列表解析

s = set(data)

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

例二(字典):
from random import randint

d = {x: randint(60, 100) for x in xrange(1, 21)}

print {k: v for k, v in d.iteritems() if v>90}

 

posted on 2017-04-10 15:34  miss_林  阅读(357)  评论(0编辑  收藏  举报

导航