list和dict的复杂度计算

import timeit
import random

for i in range(10000,1000001,20000):
t=timeit.Timer("random.randrange(%d) in x"%i,
"from __main__ import random,x")

x=list(range(i))
lst_time =t.timeit(number=1000)
x={j:None for j in range(i)}
d_time=t.timeit(number=1000)
print("%d,%10.3f,%10.3f"%(i,lst_time,d_time))

'''

10000, 0.046, 0.000
30000, 0.147, 0.001
50000, 0.239, 0.001
70000, 0.316, 0.001
90000, 0.413, 0.001
110000, 0.513, 0.001
130000, 0.593, 0.001
150000, 0.719, 0.001
170000, 0.820, 0.001
190000, 0.886, 0.001
210000, 0.989, 0.001
230000, 1.114, 0.001
250000, 1.204, 0.001
270000, 1.291, 0.001
290000, 1.396, 0.001

'''

猜你喜欢

转载自www.cnblogs.com/simon-lzx/p/12484298.html