一、浅拷贝

原列表
data1=[8,24,[2,30,35]]
浅拷贝后的列表
data2=data1.copy()原列表的内存地址
print(id(data1))        2726096606848
拷贝后的内存地址
print(id(data2))        2726096600192原列表的第一个元素地址(不可变的数据类型)
print(id(data1[1]))     2726088240144
拷贝后列表的第一个元素地址(不可变的数据类型)
print(id(data2[1]))     2726088240144原列表的最后一个元素地址(可变的数据类型)
print(id(data1[-1]))    2726096599360
拷贝后列表的最后一个元素地址(可变的数据类型)
print(id(data2[-1]))    2726096599360对子列表的元素进行更改,二者均产生变化,因为都指向同一个内存地址
data1[-1].append(7)
print(data1)    [8, 24, [2, 30, 35, 7]]
print(data2)    [8, 24, [2, 30, 35, 7]] 

对子列表的元素进行更改,二者均产生变化,因为都指向同一个内存地址

二、深拷贝

原列表
data1=[8,24,[2,30,35]]
深拷贝后的列表
data2=data1.deepcopy()原列表的内存地址
print(id(data1))        2726096511616
拷贝后的内存地址
print(id(data2))        2726096606848原列表的第一个元素地址(不可变的数据类型)
print(id(data1[1]))     2274609884176
拷贝后列表的第一个元素地址(不可变的数据类型)
print(id(data2[1]))     2274609884176原列表的最后一个元素地址(可变的数据类型)
print(id(data1[-1]))    2274619691136
拷贝后列表的最后一个元素地址(可变的数据类型)
print(id(data2[-1]))    2274619691776对子列表的元素进行更改,另一个不产生变化,因为内存地址发生了变化,指向了不同的内存地址
data2[-1].append(7)
print(data1)    [8, 24, [2, 30, 35]]
print(data2)    [8, 24, [2, 30, 35, 7]]

对子列表的元素进行更改,另一个不产生变化,因为内存地址发生了变化,指向了不同的内存地址

总结:
1、浅拷贝只拷贝父对象,不会拷贝父对象中子对象
2、深拷贝不但拷贝父对象,父对象中的子对象也会拷贝
3、不可变对象,无论是深拷贝还是浅拷贝,都不会发生拷贝

python——深拷贝与浅拷贝的区别相关推荐

  1. 【233】python—深拷贝与浅拷贝的区别

    ♣ 题目部分(原文见公众号:python宝) python宝 https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzU5NjI ...

  2. Python深拷贝和浅拷贝的区别

    首先深拷贝和浅拷贝都是对象的拷贝,都会生成一个看起来相同的对象,他们本质的区别是拷贝出来的对象的地址是否和原对象一样,也就是地址的复制还是值的复制的区别. 什么是可变对象,什么是不可变对象: 可变对象 ...

  3. python深拷贝和浅拷贝的区别_【转】python的复制,深拷贝和浅拷贝的区别

    在python中,对象赋值实际上是对象的引用.当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用 一般有三种方法, alist=[1,2,3,[& ...

  4. Python 深拷贝和浅拷贝的区别

    在Python中,对象的赋值,深浅拷贝之间是有很大差异的,入过在使用过程中不注意区别的的话,可能会产生意想不到的结果而不自知. 下面就通过简单地例子介绍一下这些概念之间的差别. 对象的赋值 直接看一段 ...

  5. Python基础:对象的深拷贝和浅拷贝的区别

    Python基础:对象的深拷贝和浅拷贝的区别 1 变量与对象 2 不可变对象与可变对象 3 直接赋值 4 浅拷贝 5 深拷贝 参考文献 1 变量与对象 对象:内存中存储数据的实体,有明确的类型.在Py ...

  6. python 深拷贝_详解python的复制,深拷贝和浅拷贝的区别

    概述 今天主要来看看Python中的浅拷贝和深拷贝内容,这里用一个实例来说明~ 需求: 将一个列表的数据复制到另一个列表中. 思路: 使用列表[:],拿不准可以调用copy模块. 实现方法: #!/u ...

  7. Python中深拷贝与浅拷贝的区别?

    往期面试题: 列举Python中的标准异常类? 说说Python面向对象三大特性? 说说Python中有几种数据类型? 说说Python模块主要分哪三类? 废话不多说,开始今天的题目: 问:说说Pyt ...

  8. python的复制,深拷贝和浅拷贝的区别

    python的复制,深拷贝和浅拷贝的区别 在python中,对象赋值实际上是对象的引用.当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用 一般有 ...

  9. python中深拷贝与浅拷贝的区别

    ####################python中的数据类型####################### ##########python中的数据类型有6种,分别为:数字类型如int,float ...

最新文章

  1. Android短消息备份闪退,Android Socket发送信息时闪退
  2. nova 之compute服务
  3. Android组件之BroadCast简单实践
  4. Android kotlin DataBinding 之 unresolved reference: BR
  5. python google buffer_python调用Google Protocol Buffer
  6. python3安装后无法使用退格键的问题
  7. 决策树php,决策树模型组合之随机森林与GBDT
  8. 通用职责分配软件原则之8-中介原则
  9. Python+turtle绘制虚线同心圆
  10. 适合程序员的简历模板
  11. 数据包络分析--Malmquist指数
  12. 到底什么是端到端(edge-to-edge)啊?
  13. C/C++学习笔记——C基础:C语言概述
  14. 【计算机网络】湖科大微课堂笔记 p7-10 计算机网络体系结构:常见的计算机网络体系结构、必要性、分层思想、专业术语
  15. linux笔记——简单概念整理
  16. Ceph分布式存储实战.
  17. python数据分析-线性回归选择基金
  18. 浏览器支持什么字体?
  19. java判断数据类型
  20. vue elementui 搜索栏子组件封装

热门文章

  1. mysql获取日期的月日_MySQL获取月,日的日期列表
  2. 开启ntp服务_Linux入门:Linux自有服务及软件包
  3. 邀请参加活动的邀请函_圣诞节点灯仪式活动邀请函制作
  4. 这个省到2025年,PUE>1.3存量大型数据中心将全部腾退关停!
  5. 调查:新冠病毒对全球结构化布线市场的影响
  6. 广东移动数据中心攻关“液/气双通道散热技术”
  7. java创建集合有的不用泛型_为什么在Java泛型右手边的集合类型没有任何影响?...
  8. Algorithm:【Algorithm算法进阶之路】之十大经典排序算法
  9. Algorithm:数学建模大赛(国赛和美赛)的简介/内容、数学建模做题流程、历年题目类型及思想、常用算法、常用工具之详细攻略
  10. Py之Queue:python库之Queue的简介、安装、使用方法之详细攻略