Python的深拷贝与浅拷贝

本文探讨了Python中深拷贝与浅拷贝的区别及应用。通过实例对比,揭示了两者在处理复杂数据结构时的不同行为。对于理解Python内存管理和高效编程具有重要意义。

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

Python的深拷贝与浅拷贝

set、dict、list复制之后,并没有把内存复制走,只是起了一个别名,所有的复制都指向一个内存。所以,当对其中一个名字的序列去操作,所有的都会有变化。

在这里插入图片描述
运行结果S
[‘a’, ‘b’, ‘c’, ‘d’] [‘a’, ‘b’, ‘c’, ‘d’]
1947385383176 1947385383176

列表直接复赋值给列表不属于拷贝, 只是内存地址的引用

浅拷贝

只会拷贝第一层,第二层内容不被拷贝。内存是一样。

浅拷贝
运行结果:
在这里插入图片描述
在这里插入图片描述
运行结果
[‘a’, ‘b’, ‘c’, [1, 2, 3, 4]] [‘a’, ‘b’, ‘c’, [1, 2, 3, 4]]
1386655149640 1386655185672

深拷贝

显示结果都不一样,把元素内部的元素完全进行拷贝复制。

在这里插入图片描述
运行结果
[‘a’, ‘b’, ‘c’, [1, 2, 3, 4]] [‘a’, ‘b’, ‘c’, [1, 2, 3]]
1452762592904 1452762606664

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值