list 与 dict 的in操作比较试验

代码呈现:

import timeit
import random
for i in range(100000, 1000001, 100000):
   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)}
   dic_time = t.timeit(number=1000)
   print("%d,%10.3f,%10.3f" % (i, lst_time, dic_time))

运行结果:

100000,     0.560,     0.001
200000,     1.132,     0.002
300000,     1.624,     0.001
400000,     2.241,     0.001
500000,     2.668,     0.001
600000,     3.242,     0.001
700000,     3.898,     0.001
800000,     4.204,     0.001
900000,     4.880,     0.001
1000000,     5.627,     0.001
  • 字典的执行时间与规模无关

  • 列表的执行时间随规模的增大呈线性上升

上一篇:Python内置类型性能分析过程实例


下一篇:计算时间复杂度