使用timeit时导入的正确方法是什么?

我正在测试以前的一个问题中的以下代码(将列表转换为字典):
single = ['key1', 'value1', 'key2', 'value2', 'key3', 'value3']

if __name__ == '__main__':
    from timeit import Timer
    print Timer("dict(zip(single[::2], single[1::2]))",
        "from __main__ import single").timeit()
    print Timer("si = iter(single); dict(izip(si, si))",
        "from __main__ import single; from itertools import izip").timeit()
我不确定使用
timeit
时的最佳做法是在
Timer
的陈述或设置中导入
izip
(我假设设置,但结束时间结果因我做的而不同)。 无论如何,我只是希望你们在为代码计时等时获得任何额外的见解。(另外,我只是想学习 - 我不会因为过早的优化或任何事情而受苦。) 谢谢。     
已邀请:
在设置中执行。毕竟,每次创建一个dict时都不会重新导入模块 - 整个程序只需要一次。您不关心导入模块的时间。     

要回复问题请先登录注册