【发布时间】:2019-05-29 14:42:26
【问题描述】:
假设我有一个 1D numpy 数组:
arr = np.arange(10)
然后我将 arr 切片并赋值给另一个变量:
arr2 = arr[5:8]
我想改变 arr :
arr2 *= 10
或:
arr2 = arr2 * 10
结果不同。为什么它们不同?
arr
数组([ 0, 1, 2, 3, 4, 50, 60, 70, 8, 9])
arr
数组([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
【问题讨论】:
-
引用非常有趣。好吧尝试做
arr2 = arr[5:8].copy() -
@AnshulVerma,对于 numpy 数组,
view和copy之间的区别更为重要。