理解字典中的键顺序:历史
字典是 Python 中的基本数据结构,表示键和值之间的映射。在旧版本的 Python 中,字典中键的顺序由实现的内部机制决定,从而导致意外结果。
考虑以下代码:
d = {'a': 0, 'b': 1, 'c': 2} l = d.keys() print(l)
此代码打印 [ 'a', 'c', 'b'],让用户对如何确定按键顺序感到困惑。
Python 3.7
在 Python 3.7 中,字典的插入顺序保留性质成为语言规范的正式部分。这意味着字典现在维护键插入的顺序,从而提供一致且可预测的行为。
Python 3.6 (CPython)
用于 Python 的 CPython 实现,字典在3.6版本中引入了插入顺序保存。但是,需要注意的是,这是一个实现细节,可能不适用于 Python 的其他实现。
Python >=2.7 和
中旧版本的 Python(2.7 及以下),字典不保证键顺序。为了维护插入顺序,用户可以依赖 collections.OrderedDict 类,该类显式保留插入键的顺序。
结论
字典中键的顺序有随着 Python 的历史不断发展。在现代版本(3.7)中,字典默认是按插入顺序排列的,这样就可以按照预期的顺序可靠地检索键。对于旧版本的 Python,collections.OrderedDict 类提供了维护键顺序的可靠解决方案。
以上是Python 字典中的键顺序如何随时间变化?的详细内容。更多信息请关注PHP中文网其他相关文章!