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

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

Susan Sarandon
发布: 2024-11-29 09:00:12
原创
298 人浏览过

How Do You Preserve Key Order in Python Dictionaries?

保留 Python 字典中的键顺序

在旧版本的 Python 中,字典中键的顺序通常是不可预测的。这可能会导致访问数据时出现混乱和不一致的结果。

如何确定字典键顺序

在 Python 3.6 之前,字典中键的顺序为由键的哈希值确定。这意味着即使值保持不变,键的顺序也会随着时间而改变。例如,在您提供的代码块中:

d = {'a': 0, 'b': 1, 'c': 2}
l = d.keys()

print(l)
登录后复制

结果列表 l 中的键顺序是 ['a', 'c', 'b']。此顺序无法保证,并且可能会在未来的循环迭代中更改。

强制执行键顺序

为了确保维持键的顺序,有多种方法可以使用:

Python 3.7 和上面

从 Python 3.7 开始,字典默认保持插入顺序。这意味着您可以依赖保留的键的顺序。

Python 3.6 (CPython)

对于 Python 3.6 的 CPython 实现,字典还维护默认插入顺序。但是,此行为是特定于实现的,并且不能在不同的 Python 实现中得到保证。

Python 2.7 和更早版本

在 3.6 之前的 Python 版本中强制执行按键顺序,您可以使用 collections.OrderedDict 类。此类专门保留插入键的顺序:

from collections import OrderedDict

d = OrderedDict({'a': 0, 'b': 1, 'c': 2})
print(list(d.keys()))  # Output: ['a', 'b', 'c']
登录后复制

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板