处理时间,timeit()

Process time, timeit()

我有几个函数可以创建一个范围内的列表。我正在使用我编写的时间函数,但它没有为我输入的列表函数计时。我的列表目前使用 return 创建的列表。错误告诉我,当我使用 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))

我应该 return 不同的东西还是我的 time_limit() 不正确?

在函数 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))