Python中的嵌套字典问题

时间:2015-12-18 17:24:41

标签: python dictionary

我有一些字典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是否会自动更新?感谢。

2 个答案:

答案 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发生了变化。