python数组的赋值和拷贝
来源:互联网 发布:徐州蹦花网络 编辑:程序博客网 时间:2024/05/01 01:01
直接看demo
numpy 有 copy()函数, list没有,需导入copy库
>>> a = np.array([1,2,3])>>> b = np.array([4,5,6])>>> (a==b).all() #比较两个数组元素是否都相等, 可以用于k-meansFalse>>> c=a>>> (a==c).all()True>>> c[0] = 10 #等号这种赋值相当对象引用(内存地址)传递,改变c, a也跟着变了,所有不管怎么改都是true>>> (a==c).all()True>>> aarray([10, 2, 3])>>> carray([10, 2, 3])>>> d = a.copy() #这是浅拷贝>>> (a==d).all()True>>> aarray([10, 2, 3])>>> d[0] =20>>> (a==d).all()False>>> darray([20, 2, 3])>>> aarray([10, 2, 3])
ref: http://python.jobbole.com/82294/
Python中对象的赋值都是进行对象引用(内存地址)传递。
使用copy.copy(),可以进行对象的浅拷贝,它复制了对象,但对于对象中的元素,依然使用原始的引用, 但是当改变的list的元素是不可变类型,所以will对应的list的第一个元素会使用一个新的对象。
如果需要复制一个容器对象,以及它里面的所有元素(包含元素的子元素),可以使用copy.deepcopy()进行深拷贝。
对于非容器类型(如数字、字符串、和其他’原子’类型的对象)没有被拷贝一说。
0 0
- python数组的赋值和拷贝
- Python中列表和数组的赋值,浅拷贝和深拷贝
- python的赋值、浅拷贝和深拷贝
- python的浅拷贝,深拷贝和赋值
- python的赋值、浅拷贝和深拷贝
- Python中的赋值,浅拷贝和深拷贝的区别
- python的对象赋值、浅拷贝和深拷贝
- python赋值和深浅拷贝
- Python 中赋值和分片拷贝的区别
- Python中变量赋值传递时的引用和拷贝
- python 之 赋值和拷贝(你真的了解吗),python赋值
- 【Python】Python 直接赋值、浅拷贝和深度拷贝解析
- 拷贝和赋值的区别
- Python对象赋值、浅拷贝和深拷贝
- Python 直接赋值、浅拷贝和深度拷贝解析
- Python 直接赋值、浅拷贝和深度拷贝解析
- Python 直接赋值、浅拷贝和深度拷贝解析
- 关于python的拷贝,赋值理解
- 停车场模拟管理问题
- 程序题——字符串转化成为数字
- java复制文件的4种方式
- FFT的详细解释
- 流量控制与拥塞控制区别
- python数组的赋值和拷贝
- nginx 初学者指引
- 1619-7 张良 十二月十七号总结 [连续第七十八天]
- 4-7 在一个数组中实现两个堆栈
- PHP篇之二个函数解决约瑟夫环问题
- c语言数据结构实现-链式队列
- 字符串函数
- Ubuntu JDK环境配置
- poj 2528