在python中使用timeit函数和len函数

2024-09-28 05:24:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我在计算程序的运行时间。在这段代码中,如何将timeit函数与len函数一起使用。在

代码:

import timeit
def shellSort(alist):
    sublistcount = len(alist)//2
    while sublistcount > 0:

      for startposition in range(sublistcount):
        gapInsertionSort(alist,startposition,sublistcount)

      print("After increments of size",sublistcount,"The list is",alist)


      sublistcount = sublistcount // 2

def gapInsertionSort(alist,start,gap):
    for i in range(start+gap,len(alist),gap):

        currentvalue = alist[i]
        position = i

        while position>=gap and alist[position-gap]>currentvalue:
            alist[position]=alist[position-gap]
            position = position-gap

        alist[position]=currentvalue
    return alist
alist = [54,26,93,17,77,31,44,55,20]
shellSort(alist)
print(alist)
print(timeit.timeit("[len(alist)]","from__main__import shellSort"))

程序给出的错误:

^{pr2}$

Tags: 函数代码import程序lendefpositionprint
2条回答

To give the timeit module access to functions you define, you can pass a setup parameter which contains an import statement:

示例:

def test():
    """Stupid test function"""
    L = []
    for i in range(100):
        L.append(i)

if __name__ == '__main__':
    import timeit
    print(timeit.timeit("test()", setup="from __main__ import test"))

在这种情况下,需要传递函数名来计算程序的运行时间:

^{pr2}$

您只需在python抱怨的行中出现语法错误;它总是

from module import things

注意空格很重要。在

相关问题 更多 >

    热门问题