python中,遍历dict的方法有四种。但这四种遍历的性能如何呢?我做了如下的测试
l = [(x,x) for x in xrange(10000)]d = dict(l)from time import clockt0=clock()for i in d: t = i + d[i]t1=clock()for k,v in d.items(): t = k + vt2=clock()for k,v in d.iteritems(): t = k + vt3=clock()for k,v in zip(d.iterkeys(),d.itervalues()): t = k + vt4=clock()print t1-t0, t2-t1, t3-t2, t4-t3
将这段脚本运行5次,结果如下:
python test.py0.00184039735833 0.00326492977712 0.00214993552657 0.00311549755797python test.py0.00182356570728 0.00339342506446 0.00234863111466 0.00321566640817python test.py0.00185107108827 0.00324563495762 0.00211175641563 0.00313479237748python test.py0.0018215130669 0.00320950848705 0.00215814608806 0.00322798225041python test.py0.00216635664955 0.00391807994377 0.00207604047314 0.00322757172233
显然第一种方法效率最高,第三种方法略差一点但相差无几,方法二四性能就差得多
不过实际的差别不是太大,不必过于纠结
新闻热点
疑难解答
图片精选