python高效编程技巧1 (如何在列表,字典,集合中根据条件筛选数据)
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(
·
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
更多推荐
所有评论(0)