1、在列表中筛选数据:
a、filter函数

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from random import randint
# 随机生成10个-10到10之间的整数,并筛选出其中大于0的整数并打印
data = [randint(-10, 10) for count in xrange(10)]
data = filter(lambda x: x > 0 , data)
print data
b、使用列表解析    
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from random import randint
# 随机生成10个-10到10之间的整数,并筛选出其中大于0的整数并打印
data = [randint(-10, 10) for count in xrange(10)]
data = [x for x in data if x >= 0]
print data 

列表解析速度比filter函数快,比循环更快

2、字典

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from random import randint

data = {x: randint(10, 100) for x in xrange(10, 20)}
# 根据值,高于60的
data = {k: v for k, v in data.iteritems() if v > 60}
print data

3、集合

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from random import randint

data = [randint(-10, 10) for x in xrange(10) ]
data = set(data)
print data
data = ([ x for x in data if x % 3 ==0 ])
print data
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐