为什么 Python dict 构造函数比 using 字面量语法慢?
经过和同事的激烈争论,我做了一些比较,得到了如下统计数据:
python2.7 -m timeit "d = dict(x=1, y=2, z=3)"
1000000 loops, best of 3: 0.47 usec per loop
python2.7 -m timeit "d = {'x': 1, 'y': 2, 'z': 3}"
10000000 loops, best of 3: 0.162 usec per loop
构造函数变慢的原因是什么?如果有的话,在什么情况下会更快?
最佳答案
构造函数较慢,因为它通过调用 dict()
函数创建对象,而编译器将 dict 文字转换为 BUILD_MAP
字节码,保存函数调用。
关于python - 为什么 dict 文字语法优于 dict 构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26309291/