PythonNo.11_深浅Copy[Python基础]

python

一、浅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,作用可以改单独第一层,同步改第二、三层,例:联合账号

以上是 PythonNo.11_深浅Copy[Python基础] 的全部内容, 来源链接: utcz.com/z/530319.html

回到顶部