我有一个python字典(比如说dict),我继续修改值(键保持不变)。当我修改与键对应的值时,dict.keys()给出的列表中键的顺序是否会改变?
答案 0 :(得分:2)
不,python字典有一个键的顺序,但不保证该顺序是什么或如何计算。
这就是为什么不保证首先订购它们的原因
存储在字典中的值对键的哈希值没有影响,因此不会改变排序。
字典对象的keys()方法以任意顺序返回字典中使用的所有键的列表(如果要对其进行排序,只需将sorted()函数应用于它)。要检查单个键是否在字典中,请使用in关键字。
答案 1 :(得分:1)
不,因为您更改了值,所以dict的顺序不会改变。该顺序仅取决于键(或其哈希值,至少在CPython中更具体)。但是,它可能会在Python的版本和实现之间发生变化,而在Python 3.3中,每次启动Python时它都会发生变化。
答案 2 :(得分:0)
不应假设Python字典的键排序不变。
但是,还有其他数据结构可以提供一致的密钥排序,它的工作方式很像字典:
顺便说一句,你不应该将变量命名为“dict”,因为有一个名为“dict”的内置类型将被隐藏。