Este post trata sobre el lenguaje de programación Python. Vamos a ver cómo copiar un arreglo pero eliminando la referencia; de este modo al modificar el arreglo A no vamos a modificar sin querer al arreglo B.
Esto también es conocido como clonar un arreglo o clonar una lista en Python.
Nota: con lista también me refiero a arreglo, array, vector, como lo conozcas.
Arreglo de una dimensión
Para una lista de una dimensión lo único que tenemos que hacer es usar operaciones de listas por ejemplo:
lista = lista_original[:]
Veamos un ejemplo en donde se demuestra que al modificar una lista no se está modificando a la otra:
Si quieres puedes probarlo en este enlace.
Lista de dos dimensiones
Para copiar una lista que tiene dos dimensiones (por ejemplo una matriz) podemos usar a la función deepcopy
(copia en profundidad) presente dentro de copy
.
Primero la importamos.
from copy import deepcopy
Después obtenemos una copia del arreglo con:
copia = deepcopy(original)
Algo así:
De este modo la copia se realiza en profundidad y elimina las referencias, de modo que al modificar una lista o pasarla a una función, si se modifica dentro de la misma, no surtirá efecto en la original.
Conclusión
Como puedes ver estas técnicas van a evitar que al modificar un arreglo copia, modifiques sin querer al original. Esto sirve para cuando queremos crear una copia de la lista sin modificar la original; por ejemplo al pasarla como argumento en una función.