在 3.7 之前的 Python 版本中使用 keys() 方法检索字典的键时,返回列表中的键可能是任意的。这种不可预测性源于 Python 在早期版本中处理字典的方式。
从 Python 3.7 开始,字典默认保持插入顺序。这意味着keys()输出列表中的键将与它们插入字典的顺序匹配。
在Python 3.6(特别是CPython实现) ),字典也默认保存插入顺序。但是,这被认为是实现细节,并且无法保证其在不同 Python 实现中的可靠性。
对于 2.7 和 3.6 之间的 Python 版本, keys() 列表中键的顺序由哈希函数确定。此哈希函数不能保证稳定,因此即使输入数据相同,键的顺序也可能在执行之间有所不同。
为了确保这些早期版本的 Python 中的插入顺序,您应该使用集合。 OrderedDict 类。此类保证将按照插入的顺序检索键:
import collections d = collections.OrderedDict({'a': 0, 'b': 1, 'c': 2}) l = d.keys() print(l) # Output: ['a', 'b', 'c']
以上是Python在3.7之前的版本中是如何处理字典键顺序的?的详细内容。更多信息请关注PHP中文网其他相关文章!