En Python, las declaraciones de asignación no copian objetos, crean enlaces entre un objetivo y un objeto. Cuando usamos =
el operador, el usuario piensa que esto crea un nuevo objeto; bueno, no lo hace. Solo crea una nueva variable que comparte la referencia del objeto original. A veces un usuario quiere trabajar con objetos mutables, para ello busca la manera de crear “copias reales” o “clones” de estos objetos. O, a veces, un usuario quiere copias que el usuario pueda modificar sin modificar automáticamente el original al mismo tiempo, para hacer eso creamos copias de objetos.
A veces se necesita una copia para poder cambiar una copia sin cambiar la otra. En Python, hay dos formas de crear copias:
# importing copy module import copy # initializing list 1 li1 = [1, 2, [3,5], 4] # using copy for shallow copy li2 = copy.copy(li1) # using deepcopy for deepcopy li3 = copy.deepcopy(li1)
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA