首页 > 解决方案 > 如何运行脚本的多次迭代?

问题描述

我想测量python中排序程序的平均运行时间(10次迭代),该程序对随机生成的大小为n =(100、150、350、500)的数组的多个输入进行排序。我有以下脚本,但它只返回最后一个输入的答案。

#elements = list() 
times = list() 
for i in range(1, 11):   
    # generate some integers
    for n in (100, 150, 350, 500):
        a = randint(0, n, n)
        start = time.time() 
        Sortalgorithm(a) 
        end = time.time() 
        times.append(end-start) 
    #return size of readomly generated array and the mean time taken 
print (len(a), mean(times))

标签: pythontime

解决方案


您将需要交换循环的顺序以完成您想要在评论中执行的操作:

    #loop over the sizes of arrays first    
    for n in (100, 150, 350, 500): 
        times = list() #make the list for every size
        #repeat the test in for loop
        for i in range(1, 11):   
        # generate some integers    
            a = randint(0, n, n)
            start = time.time() 
            Sortalgorithm(a) 
            end = time.time() 
            times.append(end-start) 
        #return size of readomly generated array and the mean time taken, for each n 
        print (len(a), mean(times)) 

推荐阅读