【发布时间】:2013-06-04 02:20:20
【问题描述】:
我有一个 python 字典(比如 dict),我在其中不断修改值(键保持不变)。当我修改键对应的值时,dict.keys()给出的列表中键的顺序会改变吗?
【问题讨论】:
-
“修改值”是指为键分配新值(例如,
d['key'] = newVal)还是改变现有值对象(例如,d['key'].append(1))? -
顺序,一旦设置不变。但是,dicts 没有存储密钥的顺序
-
我同时做这两件事,分配一个新值,然后改变它。
-
即使订单看起来没有改变,也不应该依赖它。您看到的行为是实现的副作用。 Jython、pypy 等的行为可能不同。为了保证订单的严格保存,您应该考虑使用 OrderedDict。
-
你需要一个有序的字典,还是你只是想知道?您要解决的实际问题是什么?
标签: python dictionary