【python】dict的拷贝问题
2015-12-25 10:54
633 查看
部分来源:http://blog.sina.com.cn/s/blog_5c6760940100bmg5.html
①直接赋值 ---- 结果是不同名的引用
对新字典的修改完全作用在了原来的字典上,只是引用的关系
②使用copy()函数 --- 浅拷贝。
如果一个字典中有引用类型,如list,复制只会复制其引用而不会复制其值:
③深拷贝 deepcopy
①直接赋值 ---- 结果是不同名的引用
对新字典的修改完全作用在了原来的字典上,只是引用的关系
>>> c = {'a':1,'b':2} >>> d = c >>> d['e']=3 >>> d {'a': 1, 'b': 2, 'e': 3} >>> c {'a': 1, 'b': 2, 'e': 3} >>> f = dict() >>> f = d >>> f["k"]=4 >>> f {'a': 1, 'k': 4, 'b': 2, 'e': 3} >>> c {'a': 1, 'k': 4, 'b': 2, 'e': 3}
②使用copy()函数 --- 浅拷贝。
如果一个字典中有引用类型,如list,复制只会复制其引用而不会复制其值:
>>> d = {'names': ['bob', 'sam']} >>> y = d.copy() >>> y['names'][0] = 'jack' >>> y {'names': ['jack', 'sam']} >>> d {'names': ['jack', 'sam']}
③深拷贝 deepcopy
>>> from copy import deepcopy >>> d = {'names': ['bob', 'sam']} >>> y = deepcopy(d) >>> y['names'][0] = 'jack' >>> d {'names': ['bob', 'sam']} >>> y {'names': ['jack', 'sam']}
相关文章推荐
- Python:Fatal error in launcher: Unable to create process using pip.exe
- 为python添加magic进行文件类型识别
- [转载]Python兵器谱
- python代码优化---就喜欢细节
- 排序算法—希尔排序算法分析与实现(Python)
- numpy转换
- Python教程
- 17个新手常见Python运行时错误
- Python异常
- Python标准库——走马观花
- Python补充06 Python之道
- Python补充05 字符串格式化 (%操作符)
- Python定时执行之Timer
- Python基础(1)
- 大数据分析与机器学习领域Python兵器谱
- Python学习之IDE(Eric4)------windows下搭建Python开发环境[python2.7+pyqt4(PyQt-Py2.7-x32-gpl-4.9.6-1)+Eric4(eric
- 从底层理解Python的执行
- Python学习笔记(3)——Django开发Web系统
- Python学习笔记(2)
- 转载:关于Java、Python、Go编程思想的不同