python学习笔记七:浅拷贝深拷贝
2024-08-22 21:12:24
原理
浅拷贝
import copy
b = copy.copy(a)
demo:
>>> a=[1,['a']]
>>> b=a
>>> c=copy.copy(a)
>>> a
[1, ['a']]
>>> b
[1, ['a']]
>>> c
[1, ['a']]
>>> id(a)
140556196249680
>>> id(b)
140556196249680
>>> id(c)
140556298139120
>>> a[0]=2
>>> a
[2, ['a']]
>>> c
[1, ['a']]
>>>a[1].append('b')
>>>a
[2,['a','b']]
>>>c
[1,['a','b']]
深拷贝
import copy
b = copy.deepcopy(a)
demo:
>>> a=[1,2,['a','b']]
>>> b=copy.deepcopy(a)
>>> a
[1, 2, ['a', 'b']]
>>> b
[1, 2, ['a', 'b']]
>>> id(a)
140556196175952
>>> id(b)
140556196501336
>>> id(a[0])
11961144
>>> id(b[0])
11961144
>>> id(a[2])
140556196424448
>>> id(b[2])
140556196250472
>>> a[0]=3
>>> a[2].append('c')
>>> a
[3, 2, ['a', 'b', 'c']]
>>> b
[1, 2, ['a', 'b']]
最新文章
- Bootstrap 中的 Typeahead 组件 -- AutoComplete
- day25、 静态属性、类方法、静态方法、组合、继承、
- Android开源源码推荐(一)
- debian7 请把标有“Debian GNU/Linux 7.1.0 _Wheezy_ - Official amd64 DVD Binary-1 20130615-23:06”的盘片插入驱动器“/media/cdrom/”再按回车键
- shell MAC 地址 校验
- c++错误修复 数据库无法打开 无法右击 run outtiime
- linux 2.6 互斥锁的实现-源码分析
- GPL,LGPL和BSD等协议注意事项
- Sass变量、嵌套
- Chapter 1 First Sight——32
- 【ASP.NET MVC 学习笔记】- 01 理解MVC模式
- 从头推导与实现 BP 网络
- 【c】多级指针
- 使用C# (.NET Core) 实现迭代器设计模式 (Iterator Pattern)
- BZOJ 3745
- spring生命周期流程图
- 谷歌zxing 二维码生成工具
- CP-ABE ToolKit 安装笔记(转载)
- Uedit编辑器编辑Velocity
- 016 jquery中html与val得到使用