原理

浅拷贝

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']]

最新文章

  1. Bootstrap 中的 Typeahead 组件 -- AutoComplete
  2. day25、 静态属性、类方法、静态方法、组合、继承、
  3. Android开源源码推荐(一)
  4. debian7 请把标有“Debian GNU/Linux 7.1.0 _Wheezy_ - Official amd64 DVD Binary-1 20130615-23:06”的盘片插入驱动器“/media/cdrom/”再按回车键
  5. shell MAC 地址 校验
  6. c++错误修复 数据库无法打开 无法右击 run outtiime
  7. linux 2.6 互斥锁的实现-源码分析
  8. GPL,LGPL和BSD等协议注意事项
  9. Sass变量、嵌套
  10. Chapter 1 First Sight——32
  11. 【ASP.NET MVC 学习笔记】- 01 理解MVC模式
  12. 从头推导与实现 BP 网络
  13. 【c】多级指针
  14. 使用C# (.NET Core) 实现迭代器设计模式 (Iterator Pattern)
  15. BZOJ 3745
  16. spring生命周期流程图
  17. 谷歌zxing 二维码生成工具
  18. CP-ABE ToolKit 安装笔记(转载)
  19. Uedit编辑器编辑Velocity
  20. 016 jquery中html与val得到使用

热门文章

  1. IOS 拉伸图片(封装)
  2. PHP获取系统时间不对的解决办法(转载)
  3. 【BZOJ5084】hashit(后缀自动机水过)
  4. 【转】批处理命令 For循环命令详解!
  5. 【转】Android UI开发第三十一篇——Android的Holo Theme
  6. 通过WEB网管登录
  7. Mysql limit 优化,百万至千万级快速分页,--复合索引的引用并应用于轻量级框架
  8. 文本编辑器Vim技巧
  9. theano提示:g++ not detected的解决办法
  10. cnn中的fp和bp推导