asignación de python en matriz vs escalar
Tengo una matriz 2DA
de forma(4,3)
y una matriz 1Da
de forma(4,)
. Quiero intercambiar las dos primeras filas deA
, así como los dos primeros elementos ena
. Hice lo siguiente:
A[0,:],A[1,:] = A[1,:],A[0,:]
a[0],a[1] = a[1],a[0]
Al parecer, funciona paraa
, pero falla porA
. Ahora, la segunda fila se convierte en la primera fila, pero la primera fila permanece sin cambios. Si hago lo siguiente:
first_row_copy = A[0,:].copy()
A[0,:] = A[1,:]
A[1,:] = first_row_copy
Entonces, parece funcionar. ¿Por qué el primer método no funciona? (pero funciona paraa
) Además, ¿cuál es la diferencia entreA_copy = A[0,:].copy()
yA_copy = A[0,:]
?