2 回答
TA贡献1877条经验 获得超6个赞
使用元组解包来交换值有点像 a,b=b,a
In [183]: a2=np.array([1,2,3,4])
...: a1=np.array([10,20,30,40])
...: a0=np.array([8,8,8,8])
...:
...:
In [184]:
In [185]: a2,a1=np.copy(a1),np.copy(a0)
In [186]: a0
Out[186]: array([8, 8, 8, 8])
In [187]: a1
Out[187]: array([8, 8, 8, 8])
In [188]: a2
Out[188]: array([10, 20, 30, 40])
你可以随意指出a0你想要的地方,我不认为你可以创造摆脱变化a0而不影响a1没有np.copy或其他类似的东西copy.deepcopy
TA贡献1836条经验 获得超4个赞
什么是你问的是不可能不做的副本a0,否则a0和a1将指向同一个对象,改变a0将改变a1。所以你应该这样做:
a2 = np.array([1,2,3,4])
a1 = np.array([10,20,30,40])
a0 = np.array([8,8,8,8])
a2 = a1
a1 = a0.copy()
# let's change a0
a0[0] = 9
# check
a0
Out[31]: array([9, 8, 8, 8])
a1
Out[32]: array([8, 8, 8, 8])
a2
Out[33]: array([10, 20, 30, 40])
添加回答
举报