Ho un semplice problema in Python che è molto molto strano.La variabile copiata cambia l'originale?
def estExt(matriz,erro):
# (1) Determinar o vector X das soluções
print ("Matrix after:");
print(matriz);
aux=matriz;
x=solucoes(aux); # IF aux is a copy of matrix, why the matrix is changed??
print ("Matrix before: ");
print(matriz)
...
Come si vede sotto, la matrice matriz
è cambiato nonostante il fatto che aux
è quello di essere cambiato dalla funzione solucoes()
.
Matrix prima:
[[7, 8, 9, 24], [8, 9, 10, 27], [9, 10, 8, 27]]
Matrix dopo:
[[7, 8, 9, 24], [0.0, -0.14285714285714235, -0.2857142857142847, -0.42857142857142705], [0.0, 0.0, -3.0, -3.0000000000000018]]
Ciao, grazie per la tua risposta =) Ma ho un'altra domanda considerando questo fatto: se b = 1 e a = b, se cambiamo a = 3, il b non è cambiato in python. Perché? Grazie =) –
Poiché stai cambiando 'a' per puntare a un oggetto diverso (il numero intero' 3'), ma non cambiando 'b', quindi punta ancora a' 1'. – kindall