一、淺copy
ndd= [1,23,3,34,6,[2,2,3,4],3]
ncc = ndd.copy()
#變數ncc復制一份ndd
print (ndd)
print (ncc)
ndd[3]='abc'
ndd[5][0]='def'#只串列是獨立的一個記憶體指標,改另一塊的記憶體指標,
#此copy為淺copy,只copy串列第一層,
print (ndd)
print (ncc)
#######################################
二、深copy
import copy
ncc = copy.deepcopy(ndd)
#深copy,完全獨立復制一份記憶體
print (ndd)
print (ncc)
ncc = ndd
#參考記憶體指標
#################################
例:淺copy的作用:
persion = ['name',['a',100]]
p1 = copy.copy(persion)
p2=persion[:]
p3=list(persion)
#三種方式實作淺copy
p1=persion[:]
p2=persion[:]
p1[0]='aaa'
p2[0]='bbb'
print(p1)
print(p2)
p1[1][1]='dd'
print(p1)
print(p2)
#淺copy,作用可以改單獨第一層,同步改第二、三層,例:聯合賬號
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/230887.html
標籤:Python
