首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将嵌套函数导入timeit

将嵌套函数导入timeit
EN

Stack Overflow用户
提问于 2014-01-05 17:44:23
回答 2查看 474关注 0票数 0

下面的设置参数有什么问题?

代码语言:javascript
复制
import timeit
import random
from copy import copy

def shortBubbleSort(aList):
    n = len(aList) - 1
    iterating = True
    while n > 0 and iterating:
        iterating = False
        for i in range(n):
            if aList[i+1] < aList[i]:
                iterating = True
                aList[i], aList[i+1] = aList[i+1], aList[i]
        n -= 1
    return aList


L = []
for i in range(1,500):
    L.append(random.randrange(0,1000000))

x = timeit.repeat("bubbleSort(copy(L))", setup="from __main__ import bubbleSort,copy,L",repeat = 100,number = 100)
y = (sum(x)/len(x))*100
print(str(y))

我还尝试了以下几种方法:

  • setup="from __main__ import bubbleSort,from copy import copy"
  • setup="from __main__ import bubbleSort,copy"
  • setup="from __main__ import bubbleSort"

追溯如下:

代码语言:javascript
复制
Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\ActiveState\KomodoEdit\7.1\samples\bubbleSort TimeIt.py", line 24, in <module>
    x = timeit.repeat("bubbleSort(copy(L))", setup="from __main__ import bubbleSort,copy,L",repeat = 100,number = 100)
  File "C:\Python32\lib\timeit.py", line 235, in repeat
    return Timer(stmt, setup, timer).repeat(repeat, number)
  File "C:\Python32\lib\timeit.py", line 223, in repeat
    t = self.timeit(number)
  File "C:\Python32\lib\timeit.py", line 195, in timeit
    timing = self.inner(it, self.timer)
  File "<timeit-src>", line 3, in inner
ImportError: cannot import name bubbleSort
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-05 17:47:25

可能是打错了。实际函数名为shortBubbleSort,您正在导入bubbleSort

在我的机器上,结果是

代码语言:javascript
复制
192.437240362
票数 0
EN

Stack Overflow用户

发布于 2014-01-05 17:47:42

这是个错误。您的函数名为shortBubbleSort,而不是bubbleSort。这样做是可行的:

代码语言:javascript
复制
x = timeit.repeat("shortBubbleSort(copy(L))", setup="from __main__ import shortBubbleSort,copy,L",repeat = 100,number = 100)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20936929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档