Python字典键的显示顺序是什么?

18 投票
4 回答
12093 浏览
提问于 2025-04-16 08:36
>>> D = {'a': 1, 'b': 2, 'c': 3}
>>> D
{'a': 1, 'c': 3, 'b': 2}

我刚在Python的命令行里做了这个,我只是想知道为什么键'c'会在键'b'后面呢???

4 个回答

5

来自官方文档

字典可以理解为一组没有顺序的键值对,每个键都是独一无二的(在同一个字典里)。

7

在Python 2.7中,你可以使用有序字典

17

这个顺序跟它们内部的工作方式有关,也跟它们在哈希表中的排列顺序有关。这个顺序又取决于键的哈希值、它们被插入的顺序,以及你使用的Python版本。

这个顺序是任意的(但不是随机的),所以你永远不需要去关心它会是什么顺序。

如果你想要一个排序好的键的列表,可以直接使用 sorted(D),在你的例子中,这样会返回 ['a', 'b', 'c']

撰写回答