Método copy() de lista en Python
El
método
copy()
en Python
se utiliza para crear una copia superficial (shallow copy) de una lista. Esto significa que se crea una nueva lista que contiene los mismos elementos que la lista original, pero no se copian los elementos internos de la lista original. En otras palabras, la copia es superficial en el sentido de que ambos, la lista original y la copia, hacen referencia a los mismos objetos internos.
Página de referencia: resume la firma y el uso de un método concreto. El valor está en el patrón: qué recibe, qué devuelve y en qué situación lo usarías.
Copia el ejemplo al editor, cámbiale los argumentos y comprueba la salida.
Sintaxis del método copy() en Python
La sintaxis básica del método
copy()
es la siguiente:
Aquí tienes un ejemplo para entender mejor cómo funciona:
Ejemplo
# Crear una lista original
lista_original = [1, 2, 3, [4, 5]]
# Copiar la lista utilizando copy()
copia = lista_original.copy()
# Modificar un elemento en la copia
copia[0] = 100
# Modificar un elemento dentro de la lista interna en la copia
copia[3][0] = 400
# Imprimir la lista original y la copia
print("Lista Original:", lista_original)
print("Copia de la Lista:", copia)
La salida de este código será :
Ejemplo
# Lista Original: [1, 2, 3, [400, 5]]
lista_original = [1, 2, 3, [400, 5]]
# Copia de la Lista: [100, 2, 3, [400, 5]]
copia_lista = [100, 2, 3, [400, 5]]
print(ccopia_lista)
Como puedes ver, cuando modificamos un elemento en la copia de la lista (
copia[0]
), no afecta a la lista original. Sin embargo, cuando modificamos un elemento dentro de la lista interna en la copia (
copia[3][0]
), también afecta a la lista original porque ambas hacen referencia a la misma lista interna
[4, 5]
.
Crear una copia profunda (deep copy)
Si necesitas
crear una copia profunda (deep copy)
en la que se copien todos los elementos internos de manera independiente, puedes usar el módulo
copy
de la siguiente manera:
Ejemplo
# Lista Original: [1, 2, 3, [400, 5]]
lista_original = [1, 2, 3, [400, 5]]
# Copia de la Lista: [100, 2, 3, [400, 5]]
copia_lista = [100, 2, 3, [400, 5]]
print(ccopia_lista)
Con
copy.deepcopy()
, se crea una copia profunda en la que todos los elementos internos se copian de manera independiente, evitando así la modificación de la lista original cuando se modifica la copia.
- Tutorial de Listas en Python
Practica Método copy() de lista en Python en el editor
Pon en práctica lo aprendido con nuestro editor Python interactivo. Cada ejercicio incluye el código de partida y un botón para abrirlo en una nueva pestaña, donde puedes modificarlo y ejecutarlo.
Ejercicio: La sintaxis básica del método
La sintaxis básica del método copy() es la siguiente.
Ejercicio: Usar print()
Aquí tienes un ejemplo para entender mejor cómo funciona.
Ejemplo
# Crear una lista original
lista_original = [1, 2, 3, [4, 5]]
# Copiar la lista utilizando copy()
copia = lista_original.copy()
# Modificar un elemento en la copia
copia[0] = 100
# Modificar un elemento dentro de la lista interna en la copia
copia[3][0] = 400
# Imprimir la lista original y la copia
print("Lista Original:", lista_original)
print("Copia de la Lista:", copia)
Ejercicio: La salida de este código será
La salida de este código será.
Ejemplo
# Lista Original: [1, 2, 3, [400, 5]]
lista_original = [1, 2, 3, [400, 5]]
# Copia de la Lista: [100, 2, 3, [400, 5]]
copia_lista = [100, 2, 3, [400, 5]]
print(ccopia_lista)
Cómo practicar
1. Pulsa Ejecutar en el bloque de código.
2. Modifica un valor o argumento.
3. Vuelve a ejecutar y observa la consola.