python-三种赋值深浅拷贝

文章介绍了Python中赋值操作实际上是贴标签,对于不可变对象如string、tuple和数值,赋值相当于深复制。对于列表等可变对象,简单元素的浅复制可通过copy实现,而复杂子结构需要deepcopy来避免影响原对象。deepcopy能处理嵌套结构,确保两个对象完全独立。
摘要由CSDN通过智能技术生成
总结:不可变结构可以直接赋值等于深复制:string, tuple, 数值
	 简单子结构序列可以使用copy复制(元素无序列)
     复杂子结构序列使用deepcopy复制(存在嵌套序列)

一、等于号赋值==贴标签
a=1010贴上标签a
b=a	 给10再贴上标签b
a=1515贴上标签a,10上的标签a拿下来, 所以a的改变不影响b
print(a) #10
对于列表(元素不是复杂子结构):
a=[1,2,3]
b=a
a[0]=99  # 改变了标签内的内容, 而没有撕掉标签, 所以影响了b
print(b) #[99, 2, 3]

二、copy针对简单元素(非复杂子结构)的拷贝
a=[1,2,3]
b=a.copy() # b和a不是同时贴在[1,2,3]的标签, 而是分别各贴一个互不影响
a[0]=99  # 改变了a标签内的内容, 而没改变b标签内内容, 所以互不影响
print(b) #[1, 2, 3]

三、deepcopy针对复杂子结构
a=[[1,2],[3,4],5]
b=a.deepcopy() #b和a完全独立,互不影响,而简单的copy不能应对复杂子结构的复制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值