当前位置: 首页 > news >正文

python的深拷贝浅拷贝(copy /deepcopy )

先说结论:

浅拷贝:

浅拷贝对第一层的操作都是新建,不改变原对象。 

浅拷贝对于原拷贝对象中的嵌套可变对象引用,对原拷贝对象中的嵌套不可变对象新建

对新建的对象操作不会影响原被拷贝对象。

对引用对象操作会影响原被拷贝对象。

例如:a = [ [1,1],  [2,2] ]

a.append([3,3]) 是对a操作,也就是第一层

而a[1].append(2) 是对a[1] 进行操作,就是对嵌套的元素进行操作了。

深拷贝:

完全不影响原被拷贝对象

# 对列表的深浅拷贝
import copya = [1,2,(3,3),[4,4],[5,5]]
b = [1,2,(3,3),[4,4],[5,5]]
c = a.copy()
d = copy.deepcopy(b)
c[0] += 100
c.append((888,888))
c.append([999,999])
c[2] = (33,33)
c[4] = [5555,5555]c[3].append(4444)
d[0] += 100
d.append((888,888))
d[2] = (33,33)
d[3].append(4444)
d[4] = [5555,5555]
d.append([999,999])print('a',a,'       ','c',c)
print('b',b,'       ','d',d)

 

浅拷贝

 深拷贝

相关文章:

  • c语言数据结构--------选择排序
  • 《Operating System Concepts》阅读笔记:p764-p766
  • docker容器,mysql的日志文件怎么清理
  • Spark–steaming
  • 根据极点-零点分布进行状态空间模型降阶
  • 设备制造行业如何避免项目管理混乱?
  • 30分钟编写十大排序算法完成
  • NumPy入门:从数组基础到数学运算
  • Redis ⑤-单线程模型 | 常用数据结构
  • 【SAP-CO】成本主数据
  • UWB定位技术在钢铁厂行业中的创新应用与价值实践
  • 代理设计模式:从底层原理到源代码 详解
  • 物理机检查磁盘坏道方式
  • prtobuf的原理
  • 【Luogu】动态规划一
  • TS-300B浊度传感器详解(STM32)
  • STM32单片机入门学习——第46节: [14-1] WDG看门狗
  • Redis在.NET平台中的各种应用场景
  • AI日报 - 2025年4月23日
  • 代理模式(Proxy Pattern)详解:以延迟加载图片为例
  • 山东省检察院答澎湃:惩治网络售假,强化“全链条”刑事打击
  • 人民网评“我愿意跟他挨着”热搜第一:充满温暖力量的七个字
  • 耐克领跑女性运动市场:持续加码、创新,更多新增长点有望涌现
  • 吉祥航空去年净利增超17%,海航实控人方威退出前十大股东
  • 学者建议:引入退休教师、青少年宫参与课后服务,为教师“减负”
  • 85岁眼科专家、武汉大学人民医院原眼科主任喻长泰逝世