是否可以重新分配变量引用的值,而不是变量本身?
a = {"example": "foo"}
b = a当我重新分配a时,它将变量a重新分配到引用一个新值。因此,b不指向新值。
a = {"example": "bar"}
print(b["example"]) # -> "foo"控件引用的值如何重新分配?类似于:
*a = {"example": "bar"}
print(b["example"]) # -> "bar"如果这是不可能的话,我可以理解,因为Python需要一个双重指针。
编辑最重要的是,我需要它来重新分配一个对象值,类似于JavaScript的Object.assign函数。我假设Python将具有对象的双指针。如果有必要,我可以将其他值包装在一个对象中。
发布于 2020-01-22 21:13:08
Python变量并不是这样操作的,简单的赋值也不能满足您的需要。相反,您可以清除现有的dict并就地更新它。
>>> a = dict(example="foo")
>>> b = a
>>> a.clear()
>>> a
{}
>>> a.update({'example': 'bar'})
>>> b
{'example': 'bar'}发布于 2020-01-22 21:14:38
您正在创建两个字典,因此内存中有两个不同的对象。如果你不想那样做,那就只存一本字典。
a = {"example": "foo"}
b = a
a["example"] = "bar"
print(b["example"])https://stackoverflow.com/questions/59868211
复制相似问题