@Physicist: Простая индексация для одного значения делает копии (в этом случае нечего получить, избегая копирования памяти).

я есть 2D массивA формы(4,3)и одномерный массивa формы(4,), Я хочу поменять местами первые два рядаA, а также первые два элемента вa, Я сделал следующее:

A[0,:],A[1,:] = A[1,:],A[0,:]
a[0],a[1] = a[1],a[0]

Видимо, это работает дляa, но не дляA, Теперь второй ряд становится первым, но первый ряд остается неизменным. Если я сделаю следующее:

first_row_copy = A[0,:].copy()
A[0,:] = A[1,:]
A[1,:] = first_row_copy

Тогда, похоже, работает. Почему первый метод не работает? (но работает наa) А в чем разница междуA_copy = A[0,:].copy() а такжеA_copy = A[0,:]?

Ответы на вопрос(1)

Ваш ответ на вопрос