Copied variable changes the original?
The line
aux=matriz;
Does not make a copy of matriz
, it merely creates a new reference to matriz
named aux
. You probably want
aux=matriz[:]
Which will make a copy, assuming matriz
is a simple data structure. If it is more complex, you should probably use copy.deepcopy
aux = copy.deepcopy(matriz)
As an aside, you don't need semi-colons after each statement, python doesn't use them as EOL markers.
Use copy module
aux = copy.deepcopy(matriz) # there is copy.copy too for shallow copying
Minor one: semicolons are not needed.
aux
is not a copy of matrix
, it's just a different name that refers to the same object.
Use the copy module to create actual copies of your objects.