2011-01-07 63 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

相關問題