为什么pop()比pop(0)快?

时间:2016-01-21 16:08:11

标签: python

popzero = timeit.Timer("x.pop(0)",
                       "from __main__ import x")
popend = timeit.Timer("x.pop()",
                      "from __main__ import x")

x = list(range(2000000))
popzero.timeit(number=1000)
4.8213560581207275

x = list(range(2000000))
popend.timeit(number=1000)
0.0003161430358886719

以下教程中的这段代码显示pop()比pop(0)快,但它没有说明原因。它还说pop(0)是O(n),但为什么呢?我们给它一个索引吧?不应该是O(1)?

0 个答案:

没有答案