Hay varias formas de copiar un diccionario en Python, y aquí te mostraré algunas de ellas. En Python, a menudo necesitas copiar diccionarios para realizar operaciones sin modificar el original. Hay varias formas de copiar un diccionario en Python, y aquí te mostraré algunas de ellas.
Copia diccionarios en Python con el constructor dict()
En el siguiente ejemplo, creamos una copia del diccionario original_dict utilizando el constructor dict(). La modificación de la copia no afecta al diccionario original.
# Diccionario original original_dict = {'a': 1, 'b': 2, 'c': 3} # Copiar el diccionario usando el constructor dict() copia_dict = dict(original_dict) # Modificar la copia no afecta al original copia_dict['a'] = 99 # Imprimir los diccionarios originales y la copia print(original_dict) print(copia_dict)
Salida:
{'a': 1, 'b': 2, 'c': 3} {'a': 99, 'b': 2, 'c': 3}
Copia el diccionario en Python con el método copy()
En este ejemplo, utilizamos el método copy() para crear una copia del diccionario original_dict. Al modificar la copia, el diccionario original no se ve afectado.
# Diccionario original original_dict = {'a': 1, 'b': 2, 'c': 3} # Copiar el diccionario usando el método copy() copia_dict = original_dict.copy() # Modificar la copia no afecta al original copia_dict['b'] = 99 # Imprimir los diccionarios originales y la copia print(original_dict) print(copia_dict)
Salida:
{'a': 1, 'b': 2, 'c': 3} {'a': 1, 'b': 99, 'c': 3}
Copia con dict() y comprensión de diccionario
En este ejemplo, utilizamos la comprensión de diccionario para crear una copia de original_dict. La modificación de la copia no afecta al diccionario original.
# Diccionario original original_dict = {'a': 1, 'b': 2, 'c': 3} # Copiar el diccionario utilizando comprensión de diccionario copia_dict = {clave: valor for clave, valor in original_dict.items()} # Modificar la copia no afecta al original copia_dict['c'] = 99 # Imprimir los diccionarios originales y la copia print(original_dict) print(copia_dict)
Salida:
{'a': 1, 'b': 2, 'c': 3} {'a': 1, 'b': 2, 'c': 99}