您好,自己测试的时候都是filter()性能高于列表解析,和您说的列表解析性能更好恰恰相反,请帮忙解答,谢谢
print(timeit.timeit('[ x for x in data if x>=5]', setup='data=[1, -2, 3, 10, 5, 9, 7, 5, 10 ]', number=1000000))
print(timeit.timeit('filter(lambda x:x>=5, data)', setup='data=[1, -2, 3, 10, 5, 9, 7, 5, 10]', number=1000000))
第一次运行结果:
0.73239630962435
0.23418407692864984
第二次运行结果:
0.7318548722579014
0.21855996092435004