项目实践一:如何在列表、字典中根据条件筛选数据?

2017-01-13 19:11:31来源:CSDN作者:michael019人点击

列表:filter 函数 和列表解析

  1. 利用filter 函数
from random import randintdata = [randint( -10,10) for i in xrange(10) ]print  datanew_data = filter(lambda x: x >= 0,data)print new_data

执行效率测试
In [13]: timeit filter(lambda x: x >= 0,data)
1000000 loops, best of 3: 849 ns per loop

2.列表解析
In [17]: new_data = [x for x in data if x>=0]
In [18]: print new_data
[0, 9, 5, 3, 0, 4, 2, 0]

执行效率测试

In [20]: timeit [x for x in data if x>= 0]1000000 loops, best of 3: 450 ns per loop

结论:列表解析效率更高!

字典:字典解析

dict = {x:randint(60,100) for x in range(1,10)}
{k:v for k,v in dict.iteritems() if v>=90}

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台