深浅拷贝
Posted xiaozeng6
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深浅拷贝相关的知识,希望对你有一定的参考价值。
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]
以上是关于深浅拷贝的主要内容,如果未能解决你的问题,请参考以下文章