Copy Deepcopy
- 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相关推荐
- Python 传值和传址 copy/deepcopy
传值:被调函数局部变量改变不会影响主调函数局部变量 传址:被调函数局部变量改变会影响主调函数局部变量 Python参数传递方式:传递对象引用(传值和传址的混合方式),如果是数字,字符串,元组则传值:如 ...
- python中deepcopy函数_python – copy.deepcopy使用自定义的__new __()方法在对象上引发TypeError...
我想实现一个符号类型,它跟踪我们已经拥有的符号(保存在_sym_table中),如果它们存在则返回它们,否则创建新符号.代码: # -*- coding: utf-8 -*- _sym_table = ...
- Python中copy,deepcopy,浅拷贝(“=”)和深拷贝(“copy.deepcopy()”)
python中对于对象的拷贝分为浅拷贝(copy)和深拷贝(deepcopy)两种方式.其中浅拷贝由"="完成.而深拷贝由copy模块中deepcopy()函数担任. 浅拷贝和深拷 ...
- [PYTHON] 深度解析copy.copy() 与 copy.deepcopy()
在列表中,想要复制一个列表,可以使用copy()函数,在列表中,copy()函数与切片 [:] 功能相同 a=[0,1,[0,1]] b=a.copy() c=a[:] -----print b,c- ...
- copy.copy()与copy.deepcopy()的详解
copy.copy() 元组和列表调用这个方法效果也不一样. 元组的效果: a = [1,2,3] b = [4,5,6] c = (a,b) e = copy.copy(c) 可以看到:e和c是指向 ...
- Python 之 = [:] copy deepcopy
写在前面 已经见多很多这样的Blog,为什么还想自己写呢?原因很简单,每当学到一个知识时候,尝试着对自己或者别人讲解这个知识点,当别人能听懂的时候,就算是真的理解了. 重要部分 首先,要分清楚id() ...
- python copy.deepcopy()深入解读
copy.deepcopy()的用法是将某一个变量的值赋值给另一个变量(此时两个变量地址不同),因为地址不同,所以可以防止变量间相互干扰. 大家可以猜猜下面代码第四行输出什么值 例1. a = [1, ...
- copy.deepcopy()函数深复制
copy.deepcopy()函数是一个深复制函数. 所谓深复制,就是从输入变量完全复刻一个相同的变量,无论怎么改变新变量,原有变量的值都不会受到影响. 与等号赋值不同,等号复制类似于贴标签,两者实质 ...
- 浅拷贝copy(“=”)和深拷贝(“copy.deepcopy()”)
python中对于对象的拷贝分为浅拷贝(copy)和深拷贝(deepcopy)两种方式. 其中浅拷贝由"="完成.而深拷贝由copy模块中deepcopy()函数担任. 浅拷贝和深 ...
- python中的copy.deepcopy()
功能比较: copy.copy()是浅拷贝,只拷贝父对象,不会拷贝对象的内部的子对象.copy.deepcopy()是深拷贝,会拷贝对象及其子对象,哪怕以后对其有改动,也不会影响其第一次的拷贝. Li ...
最新文章
- linux安装软件命令1003无标题,linux系统安装OFED(infiniband)
- 子程序与中断程序的异同_专业解读PLC编程中断的原理和用法
- CPU的插槽类型LGA与Socket 的区别
- linux 逻辑卷扩展
- Javascript实现信息滚动效果的方法
- “约见”面试官系列之常见面试题之第六十九篇之document.ready和onload的区别(建议收藏)
- 数学领域的世界顶级大佬们都在做什么科研项目?
- 单片机控制点阵字符显示及字模提取原理
- reviewboard mysql_Linux ReviewBoard安装与配置
- python爬虫100例--酷我音乐--周杰伦歌曲(1)
- JS实现30分钟倒计时
- 跨境电商收款之派安盈Payoneer个人账号收款教程
- CTO、技术总监、技术经理的区别 互联网技术团队的角色区分
- 虚拟带库 Vistor + TSM 安装 (在家折腾了一个周末)
- 使用moviepy快速剪辑和拼接视频
- 2020-09-06
- 3、微信小程序-通信
- 计算机键盘键盘一个按键坏了,我的世界:如果键盘坏掉一个键,六种情况,哪个会影响你玩MC?...
- java kumo生成词云
- 看雪cm大赛第17题视频教程分析