Python No.11_深浅Copy

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

posted @ 2020-12-07 02:19  命由我  阅读(166)  评论(0编辑  收藏  举报