今天突然想到Python中经常用的两种创建字典的方式dict()和{},那么这两种方式之中哪个效率会更高呢?所以查找了一些资料并自己试验了一下,下面来看看试验的结果
我通过应用timeit来进行试验,看看是否有性能差异。
1. 首先测试一下dict()
>>> python2.7 -m timeit -n 1000000 -r 5 -v 'dict()'
raw times: 0.0988 0.0989 0.0965 0.0967 0.0967
1000000 loops, best of 5: 0.0965 usec per loop
2. 接下来是{}
>>> python2.7 -m timeit -n 1000000 -r 5 -v '{}'
raw times: 0.0318 0.0325 0.0315 0.0314 0.0314
1000000 loops, best of 5: 0.0314 usec per loop
通过结果我们可以看到他们之间确实存在性能差异,{}的性能大概是dict()的三倍左右,这是创建一个空字典的时候,如果字典里面含有键值对呢?我们再来试一下
3. 首先还是dict()
>>> python2.7 -m timeit -n 1000000 -r 5 -v 'dict(a="A", b="B", c="C")'
raw times: 0.301 0.297 0.297 0.3 0.297
1000000 loops, best of 5: 0.297 usec per loop
4. {}
>>> python2.7 -m timeit -n 1000000 -r 5 -v '{"a": "A", "b": "B", "c": "C"}'
raw times: 0.13 0.134 0.128 0.129 0.128
1000000 loops, best of 5: 0.128 usec per loop
当创建的字典中还有键值对时,貌似两者的效率比之前差异小了。
同理我们是不是也可以比较一下list()和[]的效率?好了,再深入的话,我们暂时先不研究了,有兴趣的话可以参阅下面的链接
相关链接: