El método copy() de Python Dictionary devuelve una copia superficial del diccionario. veamos el método copy() del Diccionario de Python con ejemplos:
Ejemplos
Input: original = {1:'geeks', 2:'for'} new = original.copy() // Operation Output: original: {1: 'one', 2: 'two'} new: {1: 'one', 2: 'two'}
Sintaxis del método copy()
Sintaxis: dict.copy()
Devolución: este método no modifica el diccionario original, solo devuelve una copia del diccionario.
Error de copia del diccionario de Python():
Como no estamos pasando ningún parámetro, no hay posibilidad de ningún error.
Ejemplo 1: Ejemplos de Python Dictionary copy()
Programa de Python para demostrar el funcionamiento de la copia del diccionario.
Python3
original = {1: 'geeks', 2: 'for'} # copying using copy() function new = original.copy() # removing all elements from the list # Only new list becomes empty as copy() # does shallow copy. new.clear() print('new: ', new) print('original: ', original)
Producción:
new: {} original: {1: 'geeks', 2: 'for'}
Ejemplo 2: Copiar() y actualizar del diccionario de Python
Programa de Python para demostrar el funcionamiento de la copia del diccionario. es decir, actualizando los elementos de dict2 y comprobando el cambio en dict1.
Python3
# given dictionary dict1 = {10: 'a', 20: [1, 2, 3], 30: 'c'} print("Given Dictionary:", dict1) # new dictionary and # copying using copy() method dict2 = dict1.copy() print("New copy:", dict2) # Updating dict2 elements and # checking the change in dict1 dict2[10] = 10 dict2[20][2] = '45' # list item updated print("Updated copy:", dict2)
Producción:
Given Dictionary: {10: 'a', 20: [1, 2, 3], 30: 'c'} New copy: {10: 'a', 20: [1, 2, 3], 30: 'c'} Updated copy: {10: 10, 20: [1, 2, '45'], 30: 'c'}
Diferencia entre copia superficial y copia profunda
Significa que los cambios realizados en una copia del objeto no se reflejan en el objeto original. En python, esto se implementa usando la función “ deepcopy() ”. mientras que en la copia superficial cualquier cambio realizado en una copia de un objeto se refleja en el objeto original. En python, esto se implementa mediante la función «copiar()».
Ejemplo 1: Usar copiar()
A diferencia de copy(), el operador de asignación hace una copia profunda.
Python3
# Python program to demonstrate difference # between = and copy() original = {1: 'geeks', 2: 'for'} # copying using copy() function new = original.copy() # removing all elements from new list # and printing both new.clear() print('new: ', new) print('original: ', original) original = {1: 'one', 2: 'two'} # copying using = new = original # removing all elements from new list # and printing both new.clear() print('new: ', new) print('original: ', original)
Producción:
new: {} original: {1: 'geeks', 2: 'for'} new: {} original: {}
Ejemplo 2: Uso de copy.deepcopy
A diferencia de deepcopy(), el operador de asignación hace una copia profunda.
Python3
import copy # Python program to demonstrate difference # between = and copy() original = {1: 'geeks', 2: 'for'} # copying using copy() function new = copy.deepcopy(original) # removing all elements from new list # and printing both new.clear() print('new: ', new) print('original: ', original) original = {1: 'one', 2: 'two'} # copying using = new = original # removing all elements from new list # and printing both new.clear() print('new: ', new) print('original: ', original)
Producción:
new: {} original: {1: 'geeks', 2: 'for'} new: {} original: {}
Publicación traducida automáticamente
Artículo escrito por pawan_asipu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA