我的问题是这样的:

>>> 999 in list(xrange(1000))
True # this takes a glimpse


代替:

>>> import timeit
>>> timeit.timeit('999 in list(xrange(1000))')
26.88947892189026


为什么timeit给出如此高的输出?

谢谢

最佳答案

因为这样做一百万次!
https://docs.python.org/3.4/library/timeit.html#timeit.timeit



timeit.timeit接受位置参数number,该参数默认为1.000.000,因此与一遍相比,执行一百万次语句的时间确实更长。

如果您执行1次,则速度会更快:

In [2]: timeit.timeit('999 in list(xrange(1000))')
Out[2]: 31.733104944229126

In [3]: timeit.timeit('999 in list(xrange(1000))', number=1)
Out[3]: 4.5061111450195312e-05

关于python - 无法了解时间输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28959994/

10-12 22:02