[英]Issue with Nested Dictionaries in Python
我有一些字典。
a = {1: 'a', 2: 'b'}
我有一些字典b的值為a
b = {1: a}
如果我打印b,則更改a然后再次打印b,例如:
print(b)
a[1] = 'd'
print(b)
我得到以下內容:
{'a': {1: 'a', 2: 'b'}}
{'a': {1: 'd', 2: 'b'}}
為什么會這樣? 如果將值設置為變量然后更新它,dict是否會自動更新? 謝謝。
如果你寫
b = {1: a}
值1(即a
)是指您先前定義的字典。 因此,對字典a
所做的任何更改都將反映在字典b
。 字面a
在字典b
僅僅是一個參考對象到字典a
。
a
是字典,對字典{1: 'a', 2: 'b'}
引用。 您所做的任何更改都會反映在字典中。
由於python中的所有內容都是一個對象,因此意味着每個變量都只是一個引用。
因此,由於在第first print(b)
之后dict的變化, second print(b)
是不同的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.