我有一些字典a。
a = {1: 'a', 2: 'b'}
我有一些词典b,其值为
b = {1: a}
如果我打印b,请再次更改a然后再打印b,例如:
print(b)
a[1] = 'd'
print(b)
我得到以下内容:
{'a': {1: 'a', 2: 'b'}}
{'a': {1: 'd', 2: 'b'}}
为什么会这样?如果您将值设置为变量然后更新它,dict是否会自动更新?感谢。
答案 0 :(得分:0)
如果你写,
b = {1: a}
值1,即a
,是指您之前定义的字典。因此,您对字典a
所做的任何更改都将反映在字典b
中。字典a
中的文字b
只是字典a
的参考对象。
答案 1 :(得分:-2)
a
,一个词典,持有对词典{1: 'a', 2: 'b'}
的引用。您所做的任何更改都会反映在字典中。
因为python中的所有内容都是一个对象,暗示着每个变量 只是一个参考。
因此,first print(b)
second print(b)
之后dict发生了变化。