我有几个函数来创建一个范围内的列表。我正在使用我编写的时间函数,但它不是计时我输入的列表函数。我的列表函数返回当前创建的列表。这个错误告诉我,当我使用time_it()时,结果无法传递。
# one of my list functions
def for_list(x):
x = range(x)
list_1 = []
for i in x:
i = str(i)
list_1 += i
return list_1
# timing function
def time_limit(tx):
start_time = process_time()
tx()
end_time = process_time()
time = (end_time - start_time)
print(f'{tx.__name__}, {time:.15f}')
SIZE = 10000
time_limit(for_list(SIZE))我应该以不同的方式返回某些内容吗?还是我的time_limit()不正确?
发布于 2022-03-19 21:05:52
在函数time_limit()中,您要两次调用for列表。
它在通过时被调用一次,并在tx()线路上再次调用。
删除该行时,应该如下所示:
# one of my list functions
def for_list(x):
x = range(x)
list_1 = []
for i in x:
i = str(i)
list_1 += i
return list_1
# timing function
def time_limit(tx):
start_time = process_time()
end_time = process_time()
time = (end_time - start_time)
print(f'{tx.__name__}, {time:.15f}')
SIZE = 10000
time_limit(for_list(SIZE))https://stackoverflow.com/questions/71534940
复制相似问题