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
顯然第一種方法效率最高,第三種方法略差一點但相差無幾,方法二四性能就差得多
不過實際的差別不是太大,不必過于糾結
新聞熱點
疑難解答