python 副本与视图

2023-12-13 9:07:06 网络知识 匿名

视图(浅复制)只是原有数据的一个引用,通过该引用可访问、操作原有数据,如果我们对视图进行修改,它会影响原始数据,因为浅复制共享内存。

副本(深复制)是对数据的完整拷贝,如果我们对副本进行修改,它不会影响到原始数据,因为深复制不共享内存。

调用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培训机构:瀚银百科。

发表评论: