[python]字典的直接賦值、淺拷貝和深拷貝解析


1、賦值引用

b = a: a 和 b 都指向同一個對象。

2、淺拷貝

b = a.copy():  a 和 b父對象是一個獨立的對象,但他們的子對象還是指向統一對象(是引用)。

3、深拷貝

b = copy.deepcopy(a): 完全拷貝了父對象及其子對象,a 和 b 的父對象及其子對象,兩者都是完全獨立的。

實例

import copy
c0 = { '1' : 1 , 1 : [1,2]}
c1 = c0
c2 = copy.copy(c0)
c3 = copy.deepcopy(c0)
c4 = c0.copy()  #返回一個淺拷貝
c0['1'] = 5
c0['4'] = 1
c0[1].append(4)
print("c0",c0) #c0 {'1': 5, 1: [1, 2, 4], '4': 1} print("c1",c1) #c1 {'1': 5, 1: [1, 2, 4], '4': 1} print("c2",c2) #c2 {'1': 1, 1: [1, 2, 4]} print("c3",c3) #c3 {'1': 1, 1: [1, 2]} print("c4",c4) #c4 {'1': 1, 1: [1, 2, 4]}

 

參考:

https://www.runoob.com/w3cnote/python-understanding-dict-copy-shallow-or-deep.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM