了解Python字典的copy
来源:互联网 发布:惠众金融网络借贷 编辑:程序博客网 时间:2024/05/18 03:18
先看代码:
src = {'1':'a','2':'b','3':[11,22,33,44]}
des = src.copy()des_deep = copy.deepcopy(src)
src['3'].append(55)
src['4'] = "add_4"
print "des=",des
print des_deep
result:
src= {'1': 'a', '3': [11, 22, 33, 44, 55], '2': 'b', '4': 'add_4'}
des= {'1': 'a', '3': [11, 22, 33, 44, 55], '2': 'b'}
des_deep {'1': 'a', '3': [11, 22, 33, 44], '2': 'b'}
从上面的结果可以看到,des_deep未被改变,而des受src['3'].append(55)得影响却未受src['4'] = "add_4"的影响。
道理很简单:
1. copy.copy 浅拷贝, 只拷贝父对象,不会拷贝对象的内部的子对象。
2. copy.deepcopy 深拷贝, 拷贝对象及其子对象
可以看到src['3']是个子对象,所以会影响到他的浅复制产物。
如果进行id(src['3']),id(des['3']),id(des_deep['3'])可以看到,前两者的id是相同的,第三个与前两个不同。
0 0
- 了解Python字典的copy
- Python中字典的copy方法总结
- 【Python】Python3 字典 copy()方法
- python 字典中的copy函数的浅拷贝问题
- 最近了解的对python字典的用法(有字典的排序)
- Python中字典的增、删、创建、索引与字典方法clear,copy,formkeys,get,has_key,popitem,update
- Python的copy模块
- <Python>字典,可爱的字典
- 数组字典的copy,strong问题
- python的copy.copy()和copy.deepcopy()方法
- python字典(dictionary)使用:基本函数code实例,字典的合并、排序、copy,函数中*args 和**kwargs做形参和实参
- Python的字典操作
- Python的字典
- Python的字典操作
- python的{}字典操作
- python的字典
- Python的字典操作
- Python的字典操作
- presentModalViewController和dismissModalViewControllerAnimated的使用总结
- Makefile 自动化变量总结
- 年月日级联js
- Codeforces Round #232 (Div. 1)(A,B,C,D)
- iOS安全攻防:Fishhook、数据保护API以及基于脚本实现动态库注入
- 了解Python字典的copy
- TopCoder SRM 610: The Matrix 区分现实与梦境的棋盘
- C#MessageBox使用总结
- 浏览器兼容:Web标准化建站(DIV+CSS)的常见问题解决方法
- C++程序员必经之路 —— const指针
- 现实大于爱情,时间泯灭一切!
- javacsv导出csv
- Android数据库查看
- duilib进阶教程 -- 改进List控件(3)_支持多选+右键菜单(ctrl,shift, 鼠标滑动框选)