numpy中数组(array)的赋值问题

change = np.ones(4, dtype='float64')
A = np.array([[ 1,   2,  -3,   4 ],
              [ 4,   8,  12,   -8],
              [ 2,   3,   2,   1 ],
              [-3,  -1,   1,  -4]],dtype='float64')
change = A[2,:]
A[2,:] = A[0,:]
A[0,:] = change
A

结果:

A=array([[ 1.,  2., -3.,  4.],
       [ 4.,  8., 12., -8.],
       [ 1.,  2., -3.,  4.],
       [-3., -1.,  1., -4.]])

因为change里存放的是A[2,:]的地址,因此改变A[2,:]后,change的值也变了

你可能感兴趣的:(python,numpy,python)