首页 >后端开发 >Python教程 >如何保留 Python 字典中的键顺序?

如何保留 Python 字典中的键顺序?

DDD
DDD原创
2024-12-27 07:12:08666浏览

How Do I Preserve Key Order in Python Dictionaries?

保留字典中的顺序

问题

您以特定顺序定义字典,并希望在访问或迭代它时保持该顺序。

解决方案:Python 3.6 中的插入顺序

从 Python 3.6 开始,字典本质上默认维护插入顺序。这是使用基于数组的哈希表实现的,其中键和值按添加顺序存储。

例如,以下字典声明将保留键顺序:

d = {'ac': 33, 'gw': 20, 'ap': 102, 'za': 321, 'bs': 10}

此行为最初是 Python 3.6 中的实现细节。然而,在 Python 3.7 中,它成为一种语言规范,确保所有 Python 实现都保持字典顺序。

顺序保留的用例

在以下应用程序中使用保留顺序的字典可能是有益的键和值的顺序很重要,例如:

  • 按时间顺序将时间戳映射到事件order
  • 按照定义的顺序存储用户首选项
  • 表示队列或堆栈

替代:OrderedDict

而 Python 3.6 中的字典保留order,您可能仍然会遇到 Collections.OrderedDict() 类的附加功能的情况很有用。它提供以下功能:

  • 可逆性:可以按正向和反向顺序迭代。
  • 重新排序:您可以使用 move_to_end() 方法对项目重新排序。

结论

Python 3.6 及更高版本将插入顺序合并到默认情况下字典,提供对其声明序列中的键值对的方便且可预测的处理。但是,对于需要可逆或可重新排序字典的特定要求,OrderedDict 类仍然是一个可行的选择。

以上是如何保留 Python 字典中的键顺序?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn