2011-01-07 83 views
5

我从one of my previous questions (turning a list into a dictionary)测试下面的代码:使用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我不确定是否最好的做法,但最终的时间结果根据我的不同而不同)。

不管怎么说,我只是希望从你们的任何额外的见解定时代码时,等等(还有,我只是想学 - 我不痛苦过早的优化或任何东西。)

谢谢。

回答

5

在设置中执行此操作。毕竟,每次创建字典时都不会重新导入模块 - 整个程序只需要一次。您不关心导入模块的时间。

+0

不错。谢谢。 – zachwill 2011-01-07 22:34:20

相关问题