关于python的深复制和浅复制

本文介绍了Python中的浅复制和深复制概念。浅复制只复制最外层容器而不复制内部对象,适用于不可变元素;深复制则完全复制所有层级的对象,确保没有引用共享。文章通过实例解释了两种复制方式的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 浅复制

在python中,构造方法和[:]做的是浅复制,即复制了最外层的容器,副本中的元素是源容器的元素的引用

如果浅复制内的元素是不可变的,那么没什么影响,但是如果包含可变元素,如元组中包含列表之类的,对元组中的列表(可变元素)进行修改的话就是原地修改,但是如果对不可变元素进行修改,就等于是创建了一个新元组(元组是相对不可变的),所以浅复制后的两个对象,对可变对象的引用是相同的,对原本元组里的数据硕引用就是不同的


2  深复制

深复制由copy()函数提供的deepcopy()和copy函数提供,就是不共享内部对象的引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值