【发布时间】:2016-05-30 17:14:22
【问题描述】:
为什么我的代码如此缓慢(低效)?我需要使用两种方法来记录处理给定大小的列表所需的时间。我有一个search_fast 和search_slow 方法。即使这两个搜索时间之间存在差异。 Search_fast 仍然很慢。我想优化处理时间,而不是让8.99038815498 和search_fast 和65.0739619732 和search_slow。它只需要几分之一秒。我能做些什么?我会永远感激一些提示,因为编码对我来说仍然很新。 :)
from timeit import Timer
def fillList(l, n):
l.extend(range(1, n + 1))
l = []
fillList(l, 100)
def search_fast(l):
for item in l:
if item == 10:
return True
return False
def search_slow(l):
return_value = False
for item in l:
if item == 10:
return_value = True
return return_value
t = Timer(lambda: search_fast(l))
print t.timeit()
t = Timer(lambda: search_slow(l))
print t.timeit()
【问题讨论】:
-
如果你的意思是需要很长时间才能得到结果: Timeit 执行函数 1000000 次需要很长时间。 docs.python.org/2/library/timeit.html
标签: python list for-loop timeit