在旧版本的 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.6 的 CPython 实现,字典还维护默认插入顺序。但是,此行为是特定于实现的,并且不能在不同的 Python 实现中得到保证。
在 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中文网其他相关文章!