5

我正在测试我之前的一个问题中的以下代码(将列表转换为字典)

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是导入izipinTimer语句还是设置(我假设设置,但最终时间结果因我所做的不同而有所不同)。

无论如何,我只是希望你们在为代码计时等时提供任何额外的见解。(另外,我只是在努力学习——我不会为过早的优化或任何事情而苦恼。)

谢谢。

4

1 回答 1

5

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

于 2011-01-07T22:07:59.653 回答