Python 中 numpy 数组交换行的表示法

Notation of swapping rows on a numpy array in Python

假设我们有一个 numpy 数组:

A = np.array([[1, 2, 3],
          [4, 5, 6],
          [7, 8, 9],
          [10, 11, 12]])

    

谁能解释为什么这条线用于交换两行(在这种情况下是第 1 行和第 4 行)?

'A[[0, 3]] = A [[3, 0]]'

您正在同时更新两个子数组的位置

然而,做:

A[0] = A[3]
A[3] = A[0]

将不起作用,因为子数组 A[0] 已经更新,因此您需要同时进行:

A[[0, 3]] = A [[3, 0]]
A
array([[10, 11, 12],
       [ 4,  5,  6],
       [ 7,  8,  9],
       [ 1,  2,  3]])