python 副本与视图
视图(浅复制)只是原有数据的一个引用,通过该引用可访问、操作原有数据,如果我们对视图进行修改,它会影响原始数据,因为浅复制共享内存。
副本(深复制)是对数据的完整拷贝,如果我们对副本进行修改,它不会影响到原始数据,因为深复制不共享内存。
调用ndarray的view()方法会产生一个视图,下面通过示例来看一下。
importnumpyasnpa=np.
arange(6).reshape(2,3)
#创建视图
b=a.view()
print('a的id:',id(a))
print('b的id:',id(b))
#修改b的形状
b.shape=3,2
print('a的形状:')
print(a)
print('b的形状:')
print(b)
print(aisb)
调用ndarray的copy()方法会产生一个副本,下面通过示例来看一下。
importnumpyasnpa=np.
arange(1,6)
#创建副本
b=a.copy()
print(aisb)
b[1]=10
print(a[1])
print(b[1])
以上内容为大家介绍了python副本与视图,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:开发教育。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!