为什么我的Python字典总是有序的?

14 浏览
0 Comments

为什么我的Python字典总是有序的?

我知道Python中的字典是无序的。但我很困惑为什么我的字典在输出时总是有序的。就像下面的代码一样,无论我如何改变键或值,它总是按顺序打印。谢谢!

num1 = 30
num2 = 192
c1 = 'good'
c2 = 'hello'
a = {'a':8, 'k':c2, 'c':3, 'b':5}
a['g'] = 56
a['jj'] = num2
a['89'] = 'asdfg'
a['u'] =42
a['d'] = c1
a['11'] = 40
a['0'] = num1
print(a)
for key in a:
    print(key, a[key])

输出

0
0 Comments

Python 3.6及以上版本的字典dict在内部实现上保留了插入顺序,而从Python 3.7开始,你可以依赖于字典的顺序。这一点在Python 3.7的发布说明中有明确的说明。字典的插入顺序保留是Python语言规范的一部分。

在这之前不知道最近有什么变化,你能提供一些文件或发布说明的链接吗?

是的,这就是我需要的答案。非常感谢!

0