【发布时间】:2020-08-16 19:44:21
【问题描述】:
我有一个很长的清单。我需要获取循环中的第一个元素并将其删除。因此,我试图比较两个执行此操作的函数,但每次执行的时间都不同。
from timeit import timeit
>>> def foo(l):
start = timeit()
while l:
l.pop(0)
end = timeit()
return end - start
>>> def bar(l):
start = timeit()
l.reverse()
while l:
l.pop()
end = timeit()
return end - start
l = [i for i in range(100000)]
>>> for i in range(10):
print(bar(v.copy()) - foo(v.copy()))
0.00021689999266527593
-0.015974199995980598
-0.0048112000222317874
0.0016583999822614715
-0.03471089998492971
-0.0077514999866252765
-0.0015070999943418428
0.0010934000019915402
-0.005327999999281019
0.000683299993397668
>>>
我做得对吗?
【问题讨论】:
-
不,您似乎将
timeit.timeit与time.time混淆了。您应该阅读两者的文档以了解它们的作用以及如何使用它们。 -
据我所知,唯一的区别是最终“timeit”更精确
标签: python