我正在尝试在 python 中制作 numpy 数组的副本。然后我想更改新数组的一些值,但是不知何故这也改变了原始数组?
为什么下面的代码不正确?
import numpy as np
a = np.array([1,1])
print("Array a:",a)
b = a
b[0] = a[0]*2
print("Array b after manipulation:", b)
print("Array a, after manipulating array b", a)
Run Code Online (Sandbox Code Playgroud)
我可以让它发挥作用的唯一方法是通过列表理解。
import numpy as np
a = np.array([1,1])
print("Array a:",a)
b = [x for x in a]
b[0] = a[0]*2
print("Array b after manipulation:", b)
print("Array a, after manipulating array b", a)
Run Code Online (Sandbox Code Playgroud)