为什么 Python 以不可预测的方式对字典排序?
在 Python 中,字典是无序数据结构,这意味着键的顺序是没有保存。然而,正如问题所强调的,即使字典是无序的,它们通常也会以相同的顺序返回键。
旧版本的 Python 在字典的实现中使用哈希表。哈希表是高效的数据结构,通常使用哈希函数来确定关键位置。哈希表中元素的顺序并不是显而易见的,而是遵循特定的规则。在这个问题中,观察到的输出与哈希表的规则完美匹配,导致明显任意但恒定的顺序。
随着 Python 3.7 的发布,字典的实现被修改以保留插入顺序。此更改可以保证顺序,确保返回的键的顺序与它们添加到字典中的顺序相匹配。
以上是为什么 Python 字典的键顺序看起来是随机的(但并非总是如此)?的详细内容。更多信息请关注PHP中文网其他相关文章!