Python基础——第四章 第二部分 列表深浅复制

深浅复制只有在列表嵌套列表的情况下讨论

如果想保留修改之前的数据,就可以使用列表的复制,但要注意列表嵌套情况下的问题

深浅复制


1、浅复制
 

>>> li = [1,2,3,[4,5,6]]
>>> ll=li.copy() 
>>> ll
[1,2,3,[4,5,6]]
>>> id(li)
4517320
>>> id(ll)  #对比复制前后两个列表的id,发现是不同的
52509704
>>> id(li[3])
494056544
>>> id(ll[3]) #对比复制前后两个列表的元素的id,却一样的
494056544
>>> 

2、深复制


>>> bb = [1,2,3,[1,2,3]]
>>> import copy
>>> cc = copy.deepcopy(bb)
>>> cc
[1, 2, 3, [1, 2, 3]]
>>> id(bb)
52546440
>>> id(cc)
52474760

>>> id(bb[3])
52703496
>>> id(cc[3])  #这里说明,深复制是改变了所有,重新开辟内存空间储存成一个新的列表
52474184


 

猜你喜欢

转载自blog.csdn.net/weixin_44435602/article/details/114433830