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.
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:
lista = [1, 2, 3]
otra_lista = lista[:]
print("lista:")
print(lista)
print("otra_lista:")
print(otra_lista)
# Modificar a lista
print("Modificando...")
otra_lista[0] = 4
# Y al imprimir, no debería haber modificado a "lista"
print("lista:")
print(lista)
print("otra_lista:")
print(otra_lista)
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í:
from copy import deepcopy
lista = [
[1, 2],
[3, 4],
]
otra_lista = deepcopy(lista)
print("lista:")
print(lista)
print("otra_lista:")
print(otra_lista)
# Modificar a lista
print("Modificando...")
otra_lista[0][0] = 4
# Y al imprimir, no debería haber modificado a "lista"
print("lista:")
print(lista)
print("otra_lista:")
print(otra_lista)
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.
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.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.