【发布时间】:2018-01-25 17:48:32
【问题描述】:
我发现python numpy有问题。我想使用切片分配来获取一个新的numpy数组。如图所示: enter image description here
当我在“for”循环中使用切片赋值时,如:
v = np.array([[0,1],[2,3],[3,4],[7, 8])
s = v[:2]
for i in range(1):
s[1] = v[2]
结果表明赋值中“v”的值发生了变化。
结果与下面不同(只丢弃“for”循环):
s[1] = v[2]
我对这个问题很着迷,我什至怀疑 numpy 有什么问题!!! 希望有人帮助!
【问题讨论】:
-
欢迎来到 SO。请添加一些可重现的代码,格式正确。您的问题可能会变得更加清晰。
-
v[:2]是视图,而不是副本,而v是 NumPy 数组。