In Python, there are four ways to traverse Dict. But what about the performance of these four kinds of traversal? I did the following tests
L = [(x,x) for X-xrange (10000)]
d = dict (l) From time
import Clock
t0=clock () to
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=cl Ock ()
for k,v in Zip (D.iterkeys (), D.itervalues ()):
t = k + v
t4=clock ()
print t1-t0, t2-t1, t3-t2, T4 -t3
Run this script 5 times, and the result is as follows:
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, and the third approach is slightly but almost the same, method 24 performance is much worse
But the actual difference is not too big, not too tangled