一、浅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,作用可以改单独第一层,同步改第二、三层,例:联合账号
分类
Python No.11_深浅Copy
阅读(2508) 评论(0)