Python3 --- 深浅拷贝

# 浅拷贝
a = [11,22,33]

b = a

print(id(a)) #内存地址13817864
print(id(b)) #内存地址13817864


# 深拷贝
import copy
c = copy.deepcopy(a)

print(id(a)) #内存地址13817864
print(id(c)) #内存地址14278728
从下面的代码可以看出,copy.deepcopy()深拷贝是递归依次拷贝引用
import copy
a = [11,22,33]
b = [44,55,66]
c = [a,b]

d = c
print(id(c))
print(id(d))

e = copy.deepcopy(c)
print(id(e))
a.append(44)

print(c[0])
print(e[0])
从下面的代码可以看出,copy.copy()深拷贝是只拷贝当前的引用,不会递归拷贝当前引用中的引用
import copy
a = [11,22,33]
b = [44,55,66]
c = [a,b]

d = c
print(id(c))
print(id(c))

e = copy.copy(c)
print(id(e))
a.append(44)

print(c[0])
print(e[0])
注意:如果c是元祖类型,由于元祖是不可变类型,那么将是浅拷贝


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值