我的问题是:
>>> 999 in list(xrange(1000))
True # this takes a glimpse
相反:
>>> import timeit
>>> timeit.timeit('999 in list(xrange(1000))')
26.88947892189026
为什么timeit
会提供如此高的输出?
谢谢
答案 0 :(得分:4)
因为这样做 100万次! https://docs.python.org/3.4/library/timeit.html#timeit.timeit
timeit.timeit
采用位置参数number
,默认为1.000.000
,因此与只有一个相比,确实需要更长时间才能完成100万次语句。
如果你这样做一次,那就更快了:
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
答案 1 :(得分:0)
timeit.timeit(stmt='pass', setup='pass', timer=<default timer>, number=1000000)
愚蠢的问题,执行该语句的默认次数是一百万......我应该先阅读timeit
doc ...
>>> timeit.timeit('999 in list(xrange(1000))', number=1)
9.083747863769531e-05