python 深拷贝和浅拷贝

import copy

copy.copy()——浅拷贝,不改变列表第一层内容,但会改变第二层及以上的内容

copy.deepcopy(原列表)——深拷贝,第一层及以上都不会改变原列表

************************************************************************************************************************************************

a.copy()形式相当于浅拷贝

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
拷贝(deep copy)和拷贝(shallow copy)是Python中关于对象复制的两个概念。 拷贝是指创建一个新的对象,其内容是原始对象的引用。也就是说,新对象与原始对象共享内存地址,对其中一个对象的修改会影响到另一个对象。在Python中,可以使用`copy`模块的`copy()`函数或者对象的`copy()`方法进行拷贝拷贝则是创建一个新的对象,完全复制原始对象及其所有嵌套对象的内容。也就是说,新对象与原始对象完全独立,互不影响。在Python中,可以使用`copy`模块的`deepcopy()`函数或者对象的`deepcopy()`方法进行拷贝。 下面是一个简单的示例代码来说明拷贝拷贝的区别: ```python import copy # 原始对象 original_list = [1, 2, [3, 4]] print("原始对象:", original_list) # 拷贝 shallow_copy_list = copy.copy(original_list) print("拷贝对象:", shallow_copy_list) # 修改拷贝对象 shallow_copy_list[2][0] = 5 print("修改拷贝对象后,原始对象:", original_list) print("修改拷贝对象后,拷贝对象:", shallow_copy_list) # 拷贝 deep_copy_list = copy.deepcopy(original_list) print("拷贝对象:", deep_copy_list) # 修改拷贝对象 deep_copy_list[2][1] = 6 print("修改拷贝对象后,原始对象:", original_list) print("修改拷贝对象后,拷贝对象:", deep_copy_list) ``` 输出结果为: ``` 原始对象: [1, 2, [3, 4]] 拷贝对象: [1, 2, [3, 4]] 修改拷贝对象后,原始对象: [1, 2, [5, 4]] 修改拷贝对象后,拷贝对象: [1, 2, [5, 4]] 拷贝对象: [1, 2, [3, 4]] 修改拷贝对象后,原始对象: [1, 2, [5, 4]] 修改拷贝对象后,拷贝对象: [1, 2, [3, 6]] ``` 可以看到,对拷贝对象的修改会影响到原始对象,而对拷贝对象的修改不会影响原始对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值