首页 > 解决方案 > 为什么我在 python 中的字典总是有序的?

问题描述

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

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])

输出

标签: pythondictionary

解决方案


dict保留来自 python 3.6 的插入顺序(由于内部实现),您可以依赖来自 python 3.7 的顺序

来自Python 3.7 发行说明

dict 对象的插入顺序保存特性现在是 Python 语言规范的官方部分。


推荐阅读