我明白 Python 与性能无关,我只是对这个结果感到惊讶。
在下图中,唯一的区别是左侧的第 8 行,我在此处分配给一个变量,然后再在其他地方使用它。当我有嵌套字典时,我通常会这样做,所以我不会在阅读我的代码时斜视。
当我运行它们时,我注意到右侧的代码运行速度持续提高约 12%。我的意思是列表在相同的时间内增长了 12%。
这是一种有效的测试方式吗?一些顾虑:
旁注:有没有办法在文本中显示图像?好像我只能上传并创建一个超链接...
实际代码如下:
(左)
from time import time
a = {'key':'val'}
start = time()
b = []
while time() < start + 5:
c = a['key']
b.append(c)
print(len(b))
(右)
from time import time
a = {'key':'val'}
start = time()
b = []
while time() < start + 5:
b.append(a['key'])
print(len(b))