讓我們使用一個更容易看出差異的不同數組: >>> arr = np.arange(9).reshape(3, 3)>>> arrarray([[0, 1, 2], [3, 4, 5], [6, 7, 8]]) 第一種情況arr[:, li]將從第一個維度中選擇所有元素(在本例中為所有行),然后使用[1, 2]對數組進行索引,這意味著省略第一列: array([[1, 2], [4, 5], [7, 8]]) 因此,它的形狀是(3,2)。 另一種情況arr[:]將復制原始數組,因此它不會改變形狀,因此它與arr[li]等價,因此輸出形狀是(2, 3)。一般來說,應該避免對數組進行雙重索引,因為這樣可能會創建兩次視圖,這是低效的。