numpy函数:[13]切片数组共享内存
使用切片的方法获取数组的一部分,并没有创建新的数组,而切片只是原始数组的一种视图,所以改变切片中的数值,也会改变原始数组的元素值,具体通过例子来看一下:
先从Numpy中引用所有
![numpy函数:[13]切片数组共享内存](https://exp-picture.cdn.bcebos.com/ac45306817e951e129ed78e25e3da824d9e9cfa8.jpg)
创建一个一位数组a
![numpy函数:[13]切片数组共享内存](https://exp-picture.cdn.bcebos.com/d47cb624d8e9ccd2967371ed0e40102a05e2c9a8.jpg)
通过切片获取数组b
![numpy函数:[13]切片数组共享内存](https://exp-picture.cdn.bcebos.com/84010e2a04e23ea2095780ce2b10bc33ed38c3a8.jpg)
假如改变数组b中的元素的值
![numpy函数:[13]切片数组共享内存](https://exp-picture.cdn.bcebos.com/05a320a23a42a07a95059c87673834bb18efc1a8.jpg)
数组a相应的值也会发生变化
![numpy函数:[13]切片数组共享内存](https://exp-picture.cdn.bcebos.com/3fe32442a07aa0108a26cc8cbfbb19efa35f3ea9.jpg)
假如把a全部赋值给c,也是一样的效果,还是改变了原数组的值
![numpy函数:[13]切片数组共享内存](https://exp-picture.cdn.bcebos.com/a13bbe10bc33ec380cae395b295f0c14c37b3ca9.jpg)
想要保证原始数组的值不发生变化,我们最好使用copy方法获取数组c
![numpy函数:[13]切片数组共享内存](https://exp-picture.cdn.bcebos.com/bd72f23834bb19ef984a2ca0497bd28287893aa9.jpg)
现在改变数组c的元素的值,数组a将不放生变化。
![numpy函数:[13]切片数组共享内存](https://exp-picture.cdn.bcebos.com/35fa07efa25f0c14fe6ef2360d89a146b6b138a9.jpg)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:171
阅读量:115
阅读量:105
阅读量:74
阅读量:109