码迷,mamicode.com
首页 > 其他好文 > 详细

深浅拷贝

时间:2020-06-21 00:56:24      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:深浅拷贝   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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!