Python dictionary (dict) traversal performance of four methods

In python, there are four ways to traverse a dict. But what about the performance of these four traversals? I did the following test

l = [(x,x) for x in xrange(10000)]
d = dict(l)

from time import clock

t0=clock()
for i in d:
    t = i + d[i]
t1=clock()

for k,v in d.items():
    t = k + v
t2=clock()

for k,v in d.iteritems():
    t = k + v
t3=clock()

for k,v in zip(d.iterkeys(),d.itervalues()):
    t = k + v
t4=clock()

print t1-t0, t2-t1, t3-t2, t4-t3

Running this script 5 times yields the following results:

python test.py
0.00184039735833 0.00326492977712 0.00214993552657 0.00311549755797

python test.py
0.00182356570728 0.00339342506446 0.00234863111466 0.00321566640817

python test.py
0.00185107108827 0.00324563495762 0.00211175641563 0.00313479237748

python test.py
0.0018215130669 0.00320950848705 0.00215814608806 0.00322798225041

python test.py
0.00216635664955 0.00391807994377 0.00207604047314 0.00322757172233


Obviously, the first method is the most efficient, the third method is slightly worse but almost the same, and the performance of the second and fourth methods is much worse

But the actual difference is not too big, don't be too confused

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325364462&siteId=291194637