5

以前の質問の 1 つ (リストを辞書に変換)から次のコードをテストしていました。

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インポートizipすることであるかどうかはわかりTimerません (セットアップを想定していますが、最終的なタイミングの結果は、どちらを行うかによって異なります)。

とにかく、コードのタイミングなどを調整するときに、皆さんからの追加の洞察を期待していました.

ありがとう。

4

1 に答える 1

5

セットアップで行います。結局のところ、dict を作成するたびにモジュールを再インポートする必要はありません。プログラム全体で 1 回だけです。モジュールをインポートするタイミングは気にしません。

于 2011-01-07T22:07:59.653 に答える