维护字典中的键/值顺序
在 Python 中,从 3.6 版本开始,字典本质上维护插入顺序。通过按如下方式声明字典:
d = {'ac': 33, 'gw': 20, 'ap': 102, 'za': 321, 'bs': 10}
生成的字典将按照声明的顺序保留键。此行为与早期的 Python 版本不同,其中键顺序是随机的。
在幕后,这种顺序保留是通过利用稀疏哈希表和数组来存储键值对的优化实现来实现的。键本质上按照添加顺序存储在数组中。
虽然 Python 3.6 将顺序保留视为实现细节,但 Python 3.7 将其提升为语言规范。因此,所有与 3.7 及更高版本兼容的 Python 实现都必须维护其字典中的顺序。这种保证也扩展到了从 Python 3.8 开始支持的反向迭代。
尽管引入了保序字典,但 collections 模块中的 collections.OrderedDict() 类在某些情况下仍然有用。它提供了额外的功能,例如可逆性以及使用 move_to_end() 方法对键重新排序的能力。
以上是Python 如何保证字典中的键顺序?的详细内容。更多信息请关注PHP中文网其他相关文章!