将一个列表的数据复制到另一个列表中。
使用列表[:],可以调用copy模块

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import copyA = [21,22,23,24,['a','b','c','d'],25,26]
B = A                                       #直接赋值
C = A[:]                                    #浅拷贝
D = copy.copy(A)                            #浅拷贝
E = copy.deepcopy(A)                        #深拷贝#看看深拷贝与浅拷贝的区别
#在A数组的最尾处加一个数
A.append(99)
#在A数组里面的数组最尾处加一个数
A[4].append(66)print("起始列表A------------>",A)
print("直接把A列表赋值给B---->",B)
print("直接浅拷贝A列表给C---->",C)
print("直接浅拷贝A列表给D---->",D)
print("直接深拷贝A列表给E---->",E)

运行结果如下:

起始列表A------------> [21, 22, 23, 24, ['a', 'b', 'c', 'd', 66], 25, 26, 99]
直接把A列表赋值给B----> [21, 22, 23, 24, ['a', 'b', 'c', 'd', 66], 25, 26, 99]
直接浅拷贝A列表给C----> [21, 22, 23, 24, ['a', 'b', 'c', 'd', 66], 25, 26]
直接浅拷贝A列表给D----> [21, 22, 23, 24, ['a', 'b', 'c', 'd', 66], 25, 26]
直接深拷贝A列表给E----> [21, 22, 23, 24, ['a', 'b', 'c', 'd'], 25, 26]

通过以上的例子我们来分析一下这几种复制列表的不同

1、直接赋值,其实就是默认浅拷贝传递对象的引用而已,原始列表改变,被赋值的B也会做相同的改变

2、浅拷贝,没有拷贝子对象,所以原始数据改变,子对象也会改变

3、深拷贝,包含对象里面的子对象的拷贝,所以原始对象的改变不会造成深拷贝里任何子元素的改变

python列表的复制,扯一下浅拷贝与深拷贝的区别相关推荐

  1. python赋值浅拷贝和深拷贝的区别_python赋值、浅拷贝、深拷贝区别

    在写Python过程中,经常会遇到对象的拷贝,如果不理解浅拷贝和深拷贝的概念,你的代码就可能出现一些问题.所以,在这里按个人的理解谈谈它们之间的区别. 一.赋值(assignment) 在<Py ...

  2. Python 赋值、浅拷贝、深拷贝的区别?

    http://songlee24.github.io/2014/08/15/python-FAQ-02/ 在写Python过程中,经常会遇到对象的拷贝,如果不理解浅拷贝和深拷贝的概念,你的代码就可能出 ...

  3. python中有那几种赋值_详解Python列表赋值复制深拷贝及5种浅拷贝

    概述 在列表复制这个问题,看似简单的复制却有着许多的学问,尤其是对新手来说,理所当然的事情却并不如意,比如列表的赋值.复制.浅拷贝.深拷贝等绕口的名词到底有什么区别和作用呢? 列表赋值 # 定义一个新 ...

  4. python列表浅复制_Python列表的深复制和浅复制示例详解

    一.深复制与浅复制 列表是Python中自带的一种数据结构,在使用列表时,拷贝操作不可避免,下面简单讨论一下列表的深复制(拷贝)与浅复制 首先看代码: l1 = [5, 4, 3, 2, 1] # 用 ...

  5. python数组赋值_对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解

    对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解 列表赋值: >>> a = [1, 2, 3] >>> b = a >>> print ...

  6. 彻底理解Python中浅拷贝和深拷贝的区别

    目录 前言 1. 浅拷贝和深拷贝的概念 2. is和==的区别 3. 赋值操作 4. copy模块里面的copy()方法 5. copy模块里面的deepcopy()方法 6.字典自带的copy方法 ...

  7. python中浅拷贝和深拷贝的区别_Python中浅拷贝和深拷贝的区别

    Python中浅拷贝和深拷贝的区别 浅拷贝和深拷贝示意图 如上图,简单点说 1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象. 2. copy.deepcopy 深拷贝 拷贝 ...

  8. 详细解析赋值、浅拷贝和深拷贝的区别

    详细解析赋值.浅拷贝和深拷贝的区别 一.赋值(Copy) 赋值是将某一数值或对象赋给某个变量的过程,分为下面 2 部分 基本数据类型:赋值,赋值之后两个变量互不影响 引用数据类型:赋址,两个变量具有相 ...

  9. 浅拷贝和深拷贝的区别?如何实现深拷贝?

    一.数据类型存储 JavaScript中存在两大数据类型: 基本类型 引用类型 基本类型数据保存在在栈内存中 引用类型数据保存在堆内存中,引用数据类型的变量是一个指向堆内存中实际对象的引用(也叫作IP ...

最新文章

  1. 拿transformer做E2E全景分割,这个通用框架霸榜挑战赛,南大、港大联合提出
  2. Dubbo -- 系统学习 笔记 -- 示例 -- 参数验证
  3. python3多进程 pool manager_python多进程multiprocessing Pool相关问题
  4. WPF 使用DrawingVisual绘制高性能曲线图
  5. axios vue 回调函数_前端Vue 面试题大全
  6. linux设置系统自动开机,Linux系统中设置开机自动运行的两种方法
  7. 基础研究到底要基础到什么程度?
  8. arc科学计算机在线应用使用,ArcMap字段计算器(Field Calculator)的妙用
  9. 如何强制使用某一大小的包去ping某个IP地址?
  10. 23个适合logo设计的常用英文字体
  11. 怎么用odbc连接mysql数据库连接_怎么用odbc连接mysql数据库
  12. 最新综述!NLP中的Transformer预训练模型
  13. Delphi为什么都不用了?公司CTO不向老板推荐使用Delphi的13 个真实原因
  14. mysql数据库报错1146_数据库错误代码1146 - 本地与在线
  15. 技术美术自学——PBR材质通道基础 常见贴图种类列举(求dalao轻喷)
  16. 生活随记 - 国庆假期怎么过才有意义呢
  17. 2020年缴费基数调整
  18. 如何正确判断USB等接口的接线顺序
  19. ios-app杀死状态下响应推送
  20. 读书笔记 -- 算法入门

热门文章

  1. Redis集群技术及Codis实践
  2. [Winform]DataGridView列自适应宽度
  3. 安装sql server 2008 报错
  4. android问题记录
  5. 使用VSIUAL C#.NET操作Excel -把DataTable中的数据写入Excel
  6. [数据恢复答疑]有关还原精灵保护系统的数据恢复
  7. 菜鸟教程之Microsoft Windows Powershell
  8. mysql not in语句_MySQL命令
  9. 36、Power Query-多条件合并查询
  10. 为什么一般不将'在制品转出科目'设为初级成本要素