• copy()用来复制列表或字典里的值,并不是复制引用。以下代码中,a和a_copy是两个不同的列表,两者互不影响。
  • deepcopy()可以复制列表里包含的子列表。以下代码中可以看出,copy()只拷贝了单层列表,而deepcopy()拷贝了嵌套列表。
  • import copy
    a = [1,2,3]
    b = [1, 2, [3, 4]]
    a_copy = a.copy()
    a_deepcopy = copy.deepcopy(a)
    b_copy = b.copy()
    b_deepcopy = copy.deepcopy(b)
    print(a == a_copy, a==a_deepcopy, a_copy==a_deepcopy)
    print(a is a_copy, a is a_deepcopy, a_copy is a_deepcopy)
    # Output: True True True# False False Falseprint("a:",a, "a_copy:",a_copy, "a_deepcopy:",a_deepcopy)
    print("b:",b, "b_copy:",b_copy, "b_deepcopy:",b_deepcopy)
    # Output: a: [1, 2, 3] # a_copy: [1, 2, 3] # a_deepcopy: [1, 2, 3]# b: [1, 2, [3, 4]] # b_copy: [1, 2, [3, 4]] # b_deepcopy: [1, 2, [3, 4]]a[0] = 4
    a.append(5)
    b[2][0] = "c"
    b.append(3)
    b.append([7,8])
    print("a:",a, "a_copy:",a_copy, "a_deepcopy:",a_deepcopy)
    print("b:",b, "b_copy:",b_copy, "b_deepcopy:",b_deepcopy)
    # Output:a: [4, 2, 3, 5] # a_copy: [1, 2, 3] # a_deepcopy: [1, 2, 3]# b: [1, 2, ['c', 4], 3, [7, 8]] # b_copy: [1, 2, ['c', 4]] # b_deepcopy: [1, 2, [3, 4]]

    参考

Copy Deepcopy相关推荐

  1. Python 传值和传址 copy/deepcopy

    传值:被调函数局部变量改变不会影响主调函数局部变量 传址:被调函数局部变量改变会影响主调函数局部变量 Python参数传递方式:传递对象引用(传值和传址的混合方式),如果是数字,字符串,元组则传值:如 ...

  2. python中deepcopy函数_python – copy.deepcopy使用自定义的__new __()方法在对象上引发TypeError...

    我想实现一个符号类型,它跟踪我们已经拥有的符号(保存在_sym_table中),如果它们存在则返回它们,否则创建新符号.代码: # -*- coding: utf-8 -*- _sym_table = ...

  3. Python中copy,deepcopy,浅拷贝(“=”)和深拷贝(“copy.deepcopy()”)

    python中对于对象的拷贝分为浅拷贝(copy)和深拷贝(deepcopy)两种方式.其中浅拷贝由"="完成.而深拷贝由copy模块中deepcopy()函数担任. 浅拷贝和深拷 ...

  4. [PYTHON] 深度解析copy.copy() 与 copy.deepcopy()

    在列表中,想要复制一个列表,可以使用copy()函数,在列表中,copy()函数与切片 [:] 功能相同 a=[0,1,[0,1]] b=a.copy() c=a[:] -----print b,c- ...

  5. copy.copy()与copy.deepcopy()的详解

    copy.copy() 元组和列表调用这个方法效果也不一样. 元组的效果: a = [1,2,3] b = [4,5,6] c = (a,b) e = copy.copy(c) 可以看到:e和c是指向 ...

  6. Python 之 = [:] copy deepcopy

    写在前面 已经见多很多这样的Blog,为什么还想自己写呢?原因很简单,每当学到一个知识时候,尝试着对自己或者别人讲解这个知识点,当别人能听懂的时候,就算是真的理解了. 重要部分 首先,要分清楚id() ...

  7. python copy.deepcopy()深入解读

    copy.deepcopy()的用法是将某一个变量的值赋值给另一个变量(此时两个变量地址不同),因为地址不同,所以可以防止变量间相互干扰. 大家可以猜猜下面代码第四行输出什么值 例1. a = [1, ...

  8. copy.deepcopy()函数深复制

    copy.deepcopy()函数是一个深复制函数. 所谓深复制,就是从输入变量完全复刻一个相同的变量,无论怎么改变新变量,原有变量的值都不会受到影响. 与等号赋值不同,等号复制类似于贴标签,两者实质 ...

  9. 浅拷贝copy(“=”)和深拷贝(“copy.deepcopy()”)

    python中对于对象的拷贝分为浅拷贝(copy)和深拷贝(deepcopy)两种方式. 其中浅拷贝由"="完成.而深拷贝由copy模块中deepcopy()函数担任. 浅拷贝和深 ...

  10. python中的copy.deepcopy()

    功能比较: copy.copy()是浅拷贝,只拷贝父对象,不会拷贝对象的内部的子对象.copy.deepcopy()是深拷贝,会拷贝对象及其子对象,哪怕以后对其有改动,也不会影响其第一次的拷贝. Li ...

最新文章

  1. linux安装软件命令1003无标题,linux系统安装OFED(infiniband)
  2. 子程序与中断程序的异同_专业解读PLC编程中断的原理和用法
  3. CPU的插槽类型LGA与Socket 的区别
  4. linux 逻辑卷扩展
  5. Javascript实现信息滚动效果的方法
  6. “约见”面试官系列之常见面试题之第六十九篇之document.ready和onload的区别(建议收藏)
  7. 数学领域的世界顶级大佬们都在做什么科研项目?
  8. 单片机控制点阵字符显示及字模提取原理
  9. reviewboard mysql_Linux ReviewBoard安装与配置
  10. python爬虫100例--酷我音乐--周杰伦歌曲(1)
  11. JS实现30分钟倒计时
  12. 跨境电商收款之派安盈Payoneer个人账号收款教程
  13. CTO、技术总监、技术经理的区别 互联网技术团队的角色区分
  14. 虚拟带库 Vistor + TSM 安装 (在家折腾了一个周末)
  15. 使用moviepy快速剪辑和拼接视频
  16. 2020-09-06
  17. 3、微信小程序-通信
  18. 计算机键盘键盘一个按键坏了,我的世界:如果键盘坏掉一个键,六种情况,哪个会影响你玩MC?...
  19. java kumo生成词云
  20. 看雪cm大赛第17题视频教程分析

热门文章

  1. sspanel php,SSPanel-Uim 前端更新过程(20190812)
  2. 合并同一目录下的excel文件
  3. 代码注入(web安全入门)
  4. “避坑”测试面试最金典的问题“5个”
  5. Java中阻塞IO和非阻塞IO
  6. Android 的提权 (root) 原理是什么?
  7. 搜索的实例——宝岛探险
  8. Flume原理详解(好文)
  9. 【4.7 高斯消元详解】
  10. (转载)前端表格制作教程