1. 程式人生 > >Python 深淺拷貝辨析

Python 深淺拷貝辨析

拷貝:拷貝就是一個變數的值傳給另外一個變數

淺拷貝:指把存放變數的地址值傳給被賦值,最後兩個變數引用了同一份地址,淺拷貝只能拷貝最外層,修改內層則原列表和新列表都會變化。

#淺拷貝(引用拷貝)
list23 = [1,2,3,4,5,6]
list24 = list23
print(list23)
print(list24)
print(id(list23))#在python 中 id()方法可以檢視存放變數的記憶體地址
print(id(list24))

list23 和list24 具有相同的記憶體地址,實質上list23和list24為變數名不同的相同變數

深拷貝:是指被賦值的變數開闢了另一塊地址用來存放要賦值的變數的值(內容),深拷貝是指將原列表完全克隆一份新的。

#深拷貝(記憶體拷貝)
list25 = [1,2,3]
list26 = list25.copy()
print(list26)
print(list25)
print(id(list25))
print(id(list26))

 list25 和list26 具有完全不同同的記憶體地址,實質上list25和list26為不同變數