Mam prosty problem w Pythonie, który jest bardzo dziwny.Skopiowana zmienna zmienia oryginał?
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)
...
Jak widać poniżej, matryca matriz
zmienia się pomimo faktu, że jest jednym aux
zmieniane przez funkcję solucoes()
.
Matrix wcześniej:
[[7, 8, 9, 24], [8, 9, 10, 27], [9, 10, 8, 27]]
Matrix po:
[[7, 8, 9, 24], [0.0, -0.14285714285714235, -0.2857142857142847, -0.42857142857142705], [0.0, 0.0, -3.0, -3.0000000000000018]]
Witam, dziękuję za odpowiedź =) Ale mam inne pytanie, biorąc pod uwagę ten fakt: jeśli b = 1 i a = b, jeśli zmienimy a = 3, b nie zmienia się w pythonie. Czemu? Thanks =) –
Ponieważ zmieniasz 'a', aby wskazywał na inny obiekt (liczbę całkowitą' 3'), ale nie zmieniasz 'b', więc nadal wskazuje na' 1'. – kindall