Middle+
Cuéntame sobre el módulo copy en Python. ¿Cuál es la diferencia entre copy y deepcopy?
sobes.tech AI
Respuesta de la IA
El módulo copy en Python proporciona funciones para crear copias de objetos. Funciones principales:
copy.copy(obj)— copia superficial.copy.deepcopy(obj)— copia profunda.
Diferencia entre copy y deepcopy:
- La copia superficial crea un nuevo objeto, pero los objetos anidados dentro de él no se copian, sino que simplemente se hace referencia a los mismos objetos que en el original.
- La copia profunda recursivamente copia todos los objetos anidados, creando una copia completamente independiente.
Ejemplo:
import copy
original = [1, [2, 3]]
shallow = copy.copy(original)
deep = copy.deepcopy(original)
original[1][0] = 'cambiado'
print(shallow) # [1, ['cambiado', 3]] — la lista anidada cambió
print(deep) # [1, [2, 3]] — la copia profunda no cambió