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


 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值