Cómo agregar a un diccionario en Python

Introducción

El diccionario es un tipo de dato incorporado en Python. Un diccionario es una secuencia de pares clave-valor. Los diccionarios son objetos mutables, sin embargo, las claves del diccionario son inmutables y deben ser únicas dentro de cada diccionario. No hay un método incorporado para agregar, pero hay varias formas de agregar y actualizar un diccionario. En este artículo, utilizarás el operador de asignación de Python, el método update() y los operadores de fusión y actualización de diccionarios para agregar y actualizar diccionarios en Python.

Implementa tus aplicaciones de Python desde GitHub utilizando la Plataforma de Aplicaciones de DigitalOcean. Deja que DigitalOcean se encargue de escalar tu aplicación.

Cuatro Métodos para Agregar al Diccionario de Python

  1. Usando el Operador de Asignación
  2. Usando el Método de Actualización
  3. Usando el Operador Merge
  4. Usando el Operador de Actualización

Agregar al Diccionario de Python Usando el Operador de Asignación =

Puedes usar el operador de asignación = para agregar una nueva clave a un diccionario:

dict[key] = value

Si una clave ya existe en el diccionario, entonces 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  # clave existente, sobrescribe
dict_example['c'] = 3  # nueva clave, agregar
dict_example['d'] = 4  # nueva clave, agregar

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 es sobrescrito por el nuevo valor, el valor de b permanece sin cambios, y se agregan nuevos pares clave-valor para c y d.

Agregar al Diccionario de Python Sin Sobrescribir Valores

Usar el operador de asignación = sobrescribe los valores de las claves existentes con los nuevos valores. Si sabes que tu programa podría tener claves duplicadas, pero no deseas sobrescribir los valores originales, puedes agregar valores condicionalmente usando una declaración if.

Continuando con el ejemplo de la sección anterior, puedes usar 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  # clave existente, sobrescribir
dict_example['c'] = 3  # nueva clave, agregar
dict_example['d'] = 4  # nueva clave, agregar

print("updated dictionary: ", dict_example)

# agregar las siguientes declaraciones if

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 cambió cuando el diccionario se actualizó condicionalmente.

Agregar al Diccionario de Python Usando el Método update()

Puedes agregar un diccionario o un iterable de pares clave-valor a un diccionario utilizando el método update(). El método update() sobrescribe los valores de las claves existentes con los nuevos valores.

El siguiente ejemplo demuestra cómo crear un nuevo diccionario, usar 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)

# actualizar el diccionario con el par clave-valor del autor
site.update({'Author':'Sammy Shark'})
print("updated with Author: ", site)

# crear un nuevo diccionario
guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}

# actualizar el diccionario original con el nuevo diccionario
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'}

La salida muestra que la primera actualización agrega un nuevo par clave-valor y la segunda actualización agrega los pares clave-valor del diccionario guest al diccionario site. Ten en cuenta que si tu actualización a un diccionario incluye una clave existente, entonces el valor antiguo es sobrescrito por la actualización.

Agregar al Diccionario de Python Usando el Operador de Fusión |

Puedes usar el operador de fusión de diccionarios |, representado por el carácter de tubería, para fusionar dos diccionarios y devolver un nuevo objeto de diccionario.

El siguiente ejemplo demuestra cómo crear dos diccionarios y usar el operador de fusión para crear un nuevo diccionario que contenga los 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 diccionario que contiene los pares clave-valor de ambos diccionarios.

Si una clave existe en ambos diccionarios, entonces se toma el valor del segundo diccionario, o el 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 fue sobrescrito por el valor del operando derecho, dict2.

Agregar al Diccionario de Python Usando el Operador de Actualización |=

Puedes usar el operador de actualización de diccionario |=, representado por los caracteres de barra vertical e igual, para actualizar un diccionario en su lugar con el diccionario o valores dados.

Al igual que el operador de fusión |, si una clave existe en ambos diccionarios, entonces el operador de actualización |= toma el valor del operando derecho.

El siguiente ejemplo demuestra cómo crear dos diccionarios, usar 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. La salida muestra que el diccionario guests se agregó al diccionario original site.

Conclusión

En este artículo, se utilizaron diferentes métodos para agregar y actualizar un diccionario de Python. Continúa tu aprendizaje con más tutoriales de Python.

Source:
https://www.digitalocean.com/community/tutorials/python-add-to-dictionary