2 回答

TA貢獻(xiàn)1877條經(jīng)驗 獲得超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你想要的地方,我不認(rèn)為你可以創(chuàng)造擺脫變化a0而不影響a1沒有np.copy或其他類似的東西copy.deepcopy

TA貢獻(xiàn)1836條經(jīng)驗 獲得超4個贊
什么是你問的是不可能不做的副本a0,否則a0和a1將指向同一個對象,改變a0將改變a1。所以你應(yīng)該這樣做:
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])
添加回答
舉報