Introducción
Un diccionario es un tipo de dato integrado en Python. Es una secuencia de pares clave-valor, donde cada clave es única y se asigna a un valor. Los diccionarios son objetos mutables, lo que significa que se puede modificar su contenido sin cambiar su identidad. Sin embargo, las claves de diccionario son inmutables y deben ser únicas dentro de cada diccionario. Esto hace que los diccionarios sean muy eficientes para buscar, insertar y eliminar.
Los diccionarios se usan ampliamente en Python para diversos propósitos, como contar ocurrencias, agrupar datos y almacenar configuraciones. A pesar de su versatilidad, no existe un método de anexión integrado para diccionarios. En su lugar, existen varias maneras de anexar y actualizar un diccionario, cada una con sus propios usos y ventajas.
En este artículo, aprenderá diferentes maneras de agregar y actualizar diccionarios de Python. Aprenderá a usar el operador de asignación de Python, el método update() y los operadores de combinación y actualización de diccionarios. Al finalizar este tutorial, comprenderá a fondo cómo administrar y manipular diccionarios eficazmente en sus programas de Python.
Agregar al diccionario de Python usando el operador de asignación =
Para agregar una nueva clave al diccionario puede utilizar el operador de asignación =:
dict[key] = value
Si ya existe una clave en el diccionario, el operador de asignación actualiza o sobrescribe el valor.
El siguiente ejemplo muestra cómo crear un nuevo diccionario y luego usar el operador de asignación = para actualizar un valor y agregar pares clave-valor:
dict_example = {'a': 1, 'b': 2}
print("original dictionary: ", dict_example)
dict_example['a'] = 100 # existing key, overwrite
dict_example['c'] = 3 # new key, add
dict_example['d'] = 4 # new key, add
print("updated dictionary: ", dict_example)La salida es:
Output
original dictionary: {'a': 1, 'b': 2}
updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4}La salida muestra que el valor de a se sobrescribe con el nuevo valor, el valor de b no cambia y se agregan nuevos pares clave-valor para c y d.
Agregar valores a un diccionario de Python sin sobrescribirlos
El operador de asignación = sobrescribe los valores de las claves existentes con los nuevos. Si sabe que su aplicación puede tener claves duplicadas, pero no desea sobrescribir los valores originales, puede agregar valores condicionalmente mediante una sentencia if.
Continuando con el ejemplo de la sección anterior, puede utilizar declaraciones if para agregar solo nuevos pares clave-valor al diccionario:
dict_example = {'a': 1, 'b': 2}
print("original dictionary: ", dict_example)
dict_example['a'] = 100 # existing key, overwrite
dict_example['c'] = 3 # new key, add
dict_example['d'] = 4 # new key, add
print("updated dictionary: ", dict_example)
# add the following if statements
if 'c' not in dict_example.keys():
dict_example['c'] = 300
if 'e' not in dict_example.keys():
dict_example['e'] = 5
print("conditionally updated dictionary: ", dict_example)La salida es:
Output
original dictionary: {'a': 1, 'b': 2}
updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4}
conditionally updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4, 'e': 5}La salida muestra que, debido a la condición if, el valor de c no cambia cuando el diccionario se actualiza condicionalmente.
Agregar a un diccionario de Python usando el método update().
Puedes agregar un diccionario o un par clave-valor repetitivo a un diccionario mediante el método update(). Este método sobrescribe los valores de las claves existentes con los nuevos.
El siguiente ejemplo muestra cómo crear un nuevo diccionario, utilizar el método update() para agregar un nuevo par clave-valor y un nuevo diccionario, e imprimir cada resultado:
site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary'}
print("original dictionary: ", site)
# update the dictionary with the author key-value pair
site.update({'Author':'Sammy Shark'})
print("updated with Author: ", site)
# create a new dictionary
guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}
# update the original dictionary with the new dictionary
site.update(guests)
print("updated with new dictionary: ", site)La salida es:
Output
original dictionary: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary'}
updated with Author: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy Shark'}
updated with new dictionary: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy Shark', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}El resultado muestra que la primera actualización añade un nuevo par clave-valor y la segunda añade pares clave-valor del diccionario invitado al diccionario del sitio. Tenga en cuenta que si la actualización de un diccionario contiene una clave existente, la actualización sobrescribe el valor anterior.
Agregar al diccionario de Python mediante el operador Merge |
Puede utilizar el operador de fusión de diccionarios |, representado por el carácter de barra vertical, para fusionar dos diccionarios y devolver un nuevo objeto de diccionario.
El siguiente ejemplo muestra cómo crear dos diccionarios y utilizar el operador de combinación para crear un nuevo diccionario que contenga pares clave-valor de ambos:
site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary', 'Author':'Sammy'}
guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}
new_site = site | guests
print("site: ", site)
print("guests: ", guests)
print("new_site: ", new_site)La salida es:
Output
site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy'}
guests: {'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}
new_site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}Los dos diccionarios se fusionaron en un nuevo objeto de diccionario que contiene los pares clave-valor de ambos diccionarios.
Si existe una clave en ambos diccionarios, el valor se toma del segundo diccionario o del operando derecho. En el siguiente código de ejemplo, ambos diccionarios tienen una clave llamada b:
dict1 = {'a':'one', 'b':'two'}
dict2 = {'b':'letter two', 'c':'letter three'}
dict3 = dict1 | dict2
print{"dict3: ", dict3}La salida es:
Output
dict3: {'a': 'one', 'b': 'letter two', 'c': 'letter three'}El valor de la clave b se sobrescribió con el valor del operando de la derecha, dict2.
Agregar al diccionario de Python usando el operador de actualización |=
Puede utilizar el operador de actualización de diccionario |=, representado por los caracteres de barra vertical y signo igual, para actualizar un diccionario en su lugar con el diccionario o valores dados.
Al igual que el operador de fusión |, si existe una clave en ambos diccionarios, el operador de actualización |= toma el valor del operando derecho.
El siguiente ejemplo muestra cómo crear dos diccionarios, utilizar el operador de actualización para agregar el segundo diccionario al primero y luego imprimir el diccionario actualizado:
site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary', 'Author':'Sammy'}
guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}
site |= guests
print("site: ", site)La salida es:
Output
site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}
En el ejemplo anterior, no fue necesario crear un tercer objeto de diccionario porque el operador de actualización modifica el objeto original. El resultado muestra que el diccionario invitado se añade al diccionario principal del sitio.
Resultado
En este artículo, utilizó diferentes métodos para agregar y actualizar diccionarios de Python.










Un comentario
Gracias.