python 字典的淺複製與深複製

2021-10-12 06:25:02 字數 437 閱讀 2132

copy()方法返回乙個新字典,包含的鍵值對與原來的字典相同,這個方法執行的是淺複製,因為值本身是原件,而非副本

如上圖所示,當替換副本中的值時,原件不受影響。然而修改副本中的值,原件也將發生變化,因為這是就地修改而不是替換,原件指向的也是被修改的值。即淺複製的副本發生替換時,原件不受影響,發生修改時,原件受到影響,隨之改變。

解決原件隨副本改變的一種方法是使用模組copy中的deepcopy函式執行深複製,深複製就是說同時同時複製值及其包含的所有值。

如上圖所示,原值修改後,深複製副本dc不受影響,而淺複製副本c隨之改變。

Python dict字典的淺複製與深複製

python中針對dict字典有兩種複製 淺複製 利用 copy 或者 dict 複製後對原dict的內部子物件 方括號內元素 進行操作時,由淺複製得到的dict會受該操作影響 深複製 利用 deepcopy 複製後對原dict的內部子物件 方括號內元素 進行操作時,由深複製得到的dict不會受該操...

python深複製與淺複製區別

1.copy.copy 淺拷貝 只拷貝父物件,不會拷貝物件的內部的子物件。2.copy.deepcopy 深拷貝 拷貝物件及其子物件 由於在python中物件之間賦值只是引用的傳遞,即多個物件指向同乙個位址,如 a 1,2,3 b a此時a與b是指向同乙個記憶體位址的,即儲存 1,2,3 的記憶體位...

python中深複製與淺複製

從定義上來說 1 copy.copy 是淺複製,只拷貝父物件,不會拷貝物件的內部的子物件。2 copy.deepcopy 是深複製,拷貝物件及其子物件。import copy a 1,2,3,4,a b 原始物件 b a 賦值,傳物件的引用 c copy.copy a 物件拷貝,淺拷貝 d copy...