Numpy 入门 (七 Copies and Views 深拷贝和浅拷贝和视图)
上一篇: Numpy 入门 (六 Shape Manipulation 数组形状操控)
在操作和控制数组的时候,数组的数据有时候会被拷贝生成新的数组,有时候不会。这通常会使我感到困惑。下面列出三种情况:
无复制
数组赋值时不会产生拷贝:
Python 传递对象引用作为方法的参数,不产生复制:
View or Shallow Copy(视图 或 浅拷贝)
不同的数组对象共享一份数据。view 方法会创建一个新的数组对象指向相同的数据。
裁剪(slicing)获取一个视图:
Deep Copy(深拷贝)
利用copy方法对数组进行深拷贝: