Copia del diccionario de Python()

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *