python 字典中的copy函数的浅拷贝问题
来源:互联网 发布:淘宝怎么打开我的店铺 编辑:程序博客网 时间:2024/04/30 07:40
python浅拷贝与深拷贝
运行结果
既然是浅拷贝,应该键a的值都为7才对,后经过查阅资料得知,如果对象本身是不可变的,那么浅拷贝时也会产生两个值
浅拷贝是指拷贝的只是原对象元素的引用,换句话说,浅拷贝产生的对象本身是新的,但是它的内容不是新的,只是对原对象的一个引用。
深拷贝是复制一个内容而不是简单的复制引用而已
换句话说:有指针的情况下,浅拷贝只是增加了一个指针指向已经存在的内存,而深拷贝就是增加一个指针并且申请一个新的内存,使这个增加的指针指向这个新的内存
也就是说,在浅拷贝情况下,不同引用指向的是同一块内存,改其中一个引用,那么其他引用也会跟着改变
举个例子:
myDict={'a':2,3:['x','y'],'joe':'smith'}newDict=myDict.copy()newDict['a']=7newDict[3][0]='z'print myDictprint newDict
运行结果
{'a': 2, 3: ['z', 'y'], 'joe': 'smith'}{'a': 7, 3: ['z', 'y'], 'joe': 'smith'}
既然是浅拷贝,应该键a的值都为7才对,后经过查阅资料得知,如果对象本身是不可变的,那么浅拷贝时也会产生两个值
可变类型: 列表,字典
不可变类型:数字,字符串,元组
阅读全文
1 0
- python 字典中的copy函数的浅拷贝问题
- Python中字典的浅拷贝和深拷贝问题
- python的深拷贝deepcopy与浅拷贝copy
- python 变量的拷贝 copy
- 了解Python字典的copy
- 【python系列】字典的浅拷贝和深拷贝
- Python:深拷贝,浅拷贝import copy
- Python-字典 深拷贝&浅拷贝
- Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
- Python中字典的copy方法总结
- 默认的拷贝构造函数copy constructor
- oc中的copy的深浅拷贝
- python 引用,浅copy和深拷贝
- Python高级之——浅拷贝、深拷贝(deepcopy、copy的区别)
- 数组字典的copy,strong问题
- ios-关于深拷贝和浅拷贝和属性中的copy和strong的区别
- copy拷贝构造函数
- [Python]copy模块学习 -- 深拷贝和浅拷贝
- intellj IDEA小知识
- nyoj737 石子合并(一)
- 苹果核
- 游戏制作学习资料
- 攒货
- python 字典中的copy函数的浅拷贝问题
- java.lang.Object.clone()分析
- Python -- Html转PDF
- jquery获取表格中所有的checkbox并遍历
- 枚举--hdu5936 difference
- DropzoneJS 使用指南
- zabbix设置为中文
- Shader
- 以太坊基本概念及工具Geth、Browser-solidity、Mist