簡體   English   中英

Python中的嵌套字典問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM