python 字典(dict)遍历的四种方法性能测试报告
python中,遍历dict的方法有四种。但这四种遍历的性能如何呢?我做了如下的测试
l=[(x,x)forxinxrange(10000)] d=dict(l) fromtimeimportclock t0=clock() foriind: t=i+d[i] t1=clock() fork,vind.items(): t=k+v t2=clock() fork,vind.iteritems(): t=k+v t3=clock() fork,vinzip(d.iterkeys(),d.itervalues()): t=k+v t4=clock() printt1-t0,t2-t1,t3-t2,t4-t3
将这段脚本运行5次,结果如下:
pythontest.py 0.001840397358330.003264929777120.002149935526570.00311549755797 pythontest.py 0.001823565707280.003393425064460.002348631114660.00321566640817 pythontest.py 0.001851071088270.003245634957620.002111756415630.00313479237748 pythontest.py 0.00182151306690.003209508487050.002158146088060.00322798225041 pythontest.py 0.002166356649550.003918079943770.002076040473140.00322757172233
显然第一种方法效率最高,第三种方法略差一点但相差无几,方法二四性能就差得多
不过实际的差别不是太大,不必过于纠结