python字典项目引用分配

时间:2014-11-05 10:02:23

标签: python dictionary

通常情况下,当我不想要它时,我会看到类似的行为,但这次我喜欢将一个变量分配给一个字典的(整数)项,并且在任何一个字段中更改该值时我想同时申请两者。

也就是说,有一本字典:

>>> a_dict = {'v':1,'r':0}
>>> r_int = a_dict['r']

然后变量 r 没有相同的参考,即使它是相同的值。分配给r时,[' r']仍然会有 0 ,反之亦然。

但我正在尝试找到的是如何将此 r 传递给另一个对象,并在主 a 字典中更新其更改?< / p>

如果该项目是列表,则 r 的分配是列表,并且可以在 a 中查看更改此列表的元素,因为实际上是相同的列表宾语。为了避免我使用副本,但在这种情况下我需要相反。我喜欢看:

>>> r_int = 2
>>> a_dict
{'v':1,'r':2}

1 个答案:

答案 0 :(得分:2)

分配不像Python那样有效。将r之类的名称重新分配给不同的值将永远不会影响任何其他绑定。

实现这项工作的唯一方法是改变可变内容的内容,例如列表:

a = {'v': 1, 'r': [0]}
r = a_dict['r']
r[0] = [2]

但这显然引入了额外的水平。除非你有充分的理由,否则更好地使用dict本身。