博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 的深浅拷贝 终于明白了
阅读量:6550 次
发布时间:2019-06-24

本文共 801 字,大约阅读时间需要 2 分钟。

    python 深浅拷贝不之前一直不太理解,只是概念性的理解像 1,2 所说,敲完下面代码希望你可以理解。

1、copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。

2. copy.deepcopy 深拷贝 拷贝对象及其子对象

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>> 
import 
copy
>>> l1 
= 
[
1
,
3
,
5
,[
'a'
,
'b'
,
'c'
]]
>>> a 
= 
l1
>>> b 
= 
copy.copy(a) 
# 浅拷贝
>>> c 
= 
copy.deepcopy(a) 
# 深拷贝
>>> l1.append(
7
)
>>> l1[
3
].append(
'd'
)
>>> 
print 
'l1='
,l1
l1
= 
[
1
3
5
, [
'a'
'b'
'c'
'd'
], 
7
]
>>> 
print 
'a='
,a
a
= 
[
1
3
5
, [
'a'
'b'
'c'
'd'
], 
7
]
>>> 
print 
'b='
,b
b
= 
[
1
3
5
, [
'a'
'b'
'c'
'd'
]] 
>>> 
print 
'c='
,c
c
= 
[
1
3
5
, [
'a'
'b'
'c'
]] 
# 深拷贝数据没有变化

备注:深浅拷贝的区别在于嵌套部分,浅拷贝和被拷贝对象的嵌套部分的元素是同一个,

 一个改变其他的也会改变,列入上文实例  l1 = [1,3,5,['a','b','c']] ,嵌套部分是 ['a','b','c'], 这里的数据发生变化,浅拷贝也会发生变化。

本文转自 水滴石川1 51CTO博客,原文链接:http://blog.51cto.com/sdsca/1983766,如需转载请自行联系原作者

你可能感兴趣的文章
TechParty-IOS与iwatch专题沙龙笔记
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
Android获得bitmap的大小
查看>>
设置图片圆角
查看>>
主板检测
查看>>
如何处理 VSAN 群集中的隔离/分区情形?
查看>>
虚拟机下两台服务器通过NAT设置实现跨网段互访
查看>>
springmvc-机制(拦截器、aop、异常)
查看>>
VMware Horzion view 7测试需要注意的一些 地方
查看>>
笔记本windows 7下WIFI共享设置
查看>>
《spring 4.x 企业应用开发实战》FAQ及勘误表
查看>>
python查找替换(一)
查看>>
salt stack 安装搭建
查看>>
linux中文乱码问题解决办法
查看>>
花都新华电脑重装、硬盘数据恢复、手机维修、监控安装
查看>>
Linux中用CVSNT进行目录、文件的权限设置
查看>>
Linux常用服务部署与优化
查看>>
PHP的method_exists,function_exists,is_callable的区别
查看>>
服务器安全检查指引——日常维护说明
查看>>