标签:深浅拷贝 port 复制 更改 append col 浅拷贝 deepcopy style
import copy """浅拷贝只拷贝外层地址,内容受外层地址内容的改变而改变; 深拷贝是复制内容到一个新的地址,内容不受拷贝对象的更改而更改""" a = [11, 22] b = [33, 44] c = [a, b]#产生一个新的id d = copy.copy(c)#复制c的外层a,b的地址 e = copy.deepcopy(c)#复制c的地址 print(id(c))#1561637434056 print(id(d))#1561637433992 print(id(e))#1561637433928 c.append([55, 66])# a.append(9) e.append(8) d[0][1]=0 print(c)#受a,b,c的内容改变而改变 [[11, 22, 9], [33, 44], [55, 66]] print(d)#受a,b,d的内容改变而改变 [[11, 22, 9], [33, 44]] print(e)#复制了c的内容产生一个新的地址,只受e的内容改变而改变 [[11, 22], [33, 44], 8] print(a)# d[0][1]=0改变了指向地址的值 [11, 0, 9]
标签:深浅拷贝 port 复制 更改 append col 浅拷贝 deepcopy style
原文地址:https://www.cnblogs.com/xiaozeng6/p/13170691.html