淺拷貝是只拷貝內容,位址沒有拷貝。
比如laoba_home = [1,2]位址是8888,我讓laoba_house = a.copy()
這裡a和b實際上指向的是同乙個位址,a和b只是同乙個房子的不同稱呼,對b修改a當然也會跟著變。
深拷貝是拷貝內容,也「拷貝」位址
比如laoba_home = [1,2]位址是8888,我讓xiaoba_home = copy.deepcopy(laoba_home ),這裡就是照著laoba_home再蓋一所房子叫xiaoba_home。你修改xiaoba_home的內容laoba_home 自然不會變,他倆本質上就不是乙個東西。
拷貝位址也不能在別人家位址上蓋房子吧,所以我深拷貝是也生成乙個新位址所以b的位址就變的跟a不一樣,位址不一樣,你修改b的內容a自然也不會變。
淺拷貝的方法有很多,切片、列表生成、for迴圈、copy()等等。深拷貝的方法主要是copy.deepcopy()、列表相加等等。方法可以看這個並不全,可以參考。
Python中列表的深淺拷貝
copy lst py物件三要素 比較運算子 is 身份運算子 小資料池 列表的淺拷貝 列表的深拷貝 py物件三要素 idtype value 比較運算子 通過value進行判斷 a 257 b 257 a b true is 身份運算子 通過id進行判斷 a 257 b 257 id a id b...
python列表中的深淺copy
列表中的賦值和平常的賦值是不一樣的,看下面的 in 1 a 1in 2 b a in 3 a out 3 1in 4 b out 4 1in 5 id a out 5 4452948992in 6 id b out 6 4452948992in 7 id 1 out 7 4452948992in 8...
Python 列表深淺複製詳解
列表有個 copy 方法,意思是複製乙個相同的列表 實現淺複製的方法 import copy names 小明 小紅 小黑 小黃 小白 names1 copy.copy names names2 names names3 list names 深複製的方法 import copy names 小明 ...