python中的copy.deepcopy()
功能比较:
copy.copy()是浅拷贝,只拷贝父对象,不会拷贝对象的内部的子对象。copy.deepcopy()是深拷贝,会拷贝对象及其子对象,哪怕以后对其有改动,也不会影响其第一次的拷贝。
List2 = List1 # 将List1赋给List2,相当于list2与list1指向同一块内存地址空间,list1里面内容发生,list2内容也会跟着发生改变
List3 = copy.copy(List1) # 浅拷贝,只拷贝深拷贝的第一层(父对象),list1的父对象内容改变不会影响list3内容,但子对象内容改变就会影响list3的内容
List4 = copy.deepcopy(List1) # 深拷贝,从上到底全部对象内容拷贝,list1改变任何内容不会影响list4的内容
举例
import copyList1 = ['1', '2', 3, 'a', ['b', 'c']]
List2 = List1 # 将List1赋给List2,相当于list2与list1指向同一块地址空间,list1里面内容发生,list2内容也会跟着发生改变
List3 = copy.copy(List1) # 浅拷贝,只拷贝深拷贝的第一层(父对象)
List4 = copy.deepcopy(List1) # 深拷贝,从上到底全部对象内容拷贝List1.append('test') # 在List1末尾添加'test'
List1[4].append('d') # 在List1中['b','c']的末尾添加'd'print('List1:%s' % List1)
print('List2:%s' % List2)
print('List3:%s' % List3)
print('List4:%s' % List4)
结果为:
List1:['1', '2', 3, 'a', ['b', 'c', 'd'], 'test']
List2:['1', '2', 3, 'a', ['b', 'c', 'd'], 'test']
List3:['1', '2', 3, 'a', ['b', 'c', 'd']]
List4:['1', '2', 3, 'a', ['b', 'c']]
python中的copy.deepcopy()相关推荐
- python中的copy.copy()和copy.deepcopy()
copy.copy()是浅复制,copy.deepcopy()是深复制 copy()之后的对象与原对象之间存在联系,可能会出现其中一个改变另外一个也改变的情况: c=['a','b','d','f', ...
- python中的copy.copy和copy.deepcopy
1.浅copy时,1级的值和个数永远不会变化,但是如果1级不是具体的值,是集合.列表等时2级的子值会变化 2.深deepcopy时,b则会有自己的独立空间,不会再受a任何影响 一个例子就搞清楚 1 2 ...
- python中的copy模块(浅复制和深复制)
在总结copy模块中的浅复制(copy)和深复制(deepcopy)前,先对"引用"做下说明: 引用是指保存的值为对象的地址.在 Python 语言中,一个变量保存的值除了基本类型 ...
- python中的copy()与deepcopy()
1.对于非嵌套的列表,对列表进行copy()与deepcopy()操作,看不出差别 a = [1,2,3] b = a.copy() #浅拷贝 b = a[:] #浅拷贝 b = a.deepcop ...
- Python中的浅复制(shallow copy)和深复制(deep copy)
文章目录 python值管理方式 深复制与浅复制的使用及区别 近期杂事太多,博客一直没更新,9月最后一天了,总得写点吧 今天记一下以前碰到过,最近又碰到的问题:python的深复制和浅复制 神奇的py ...
- Python中的对象引用、浅拷贝与深拷贝
最近项目中遇到一个Python浅拷贝机制引起的bug,由于对于Python中对象引用.赋值.浅拷贝/深拷贝机制没有足够的认识,导致调试了很久才发现问题,这里简单记录一下相关概念. 在Python的设计 ...
- 彻底理解Python中浅拷贝和深拷贝的区别
目录 前言 1. 浅拷贝和深拷贝的概念 2. is和==的区别 3. 赋值操作 4. copy模块里面的copy()方法 5. copy模块里面的deepcopy()方法 6.字典自带的copy方法 ...
- python中求和公式是什么函数_Python的math库中,用于求和的函数是( )。
[单选题]确定兴利库容 V 兴 ,已知某水库为一回运用水库,其一次蓄水量为 V 1 =300 万 m 3 ,一次供水量为 V 2 =150 万 m 3 . [ ]. [单选题]hAB大于0说明B点的高 ...
- Python中copy,deepcopy,浅拷贝(“=”)和深拷贝(“copy.deepcopy()”)
python中对于对象的拷贝分为浅拷贝(copy)和深拷贝(deepcopy)两种方式.其中浅拷贝由"="完成.而深拷贝由copy模块中deepcopy()函数担任. 浅拷贝和深拷 ...
最新文章
- php trace 函数,PHP Trace 实现原理
- Pandas matplotlib 无法显示中文 Ubuntu16.04
- PE学习(二) IMAGE_DOS_HEADER
- 自定义拦截器和提供的拦截器
- Java开发人员应该知道的7种新工具
- 编写一个C程序,实现以下功能:用一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数原型为:int strcmp(char *p1,char *p2);设p1指向字符串s
- UiPath安装pdf
- Android 基于阿里云播放器实现仿抖音播放(一)
- SpringBoot项目防止Sql注入
- wx-微信公众号-静默登陆授权
- 【电器识别】基于AlexNet网络实现电线杆、绝缘子、发电机和电容器等电器设备识别附matlab代码
- OK6410 V4L2 分析
- 人口流向数据_各省全国各省人口净流入数据:浙江、广东、新疆、重庆成宠儿...
- assaasasas
- 网络安全风险感知和发掘,练习题
- 三个很赞的英语学习软件
- 枚举类 Enum使用
- python3.0如何画表格_怎么用python画表格?
- 通信线路工程验收规范_一级建造师市政涉及到的相关规范汇总
- php 发 语音验证码,PHP集成发送手机短信验证码、语音验证码接口函数及使用方法...