Python: cómo agregar una clave a un diccionario

Agreguemos nuevas claves a un diccionario de Python. Agregaremos una sola clave y varias claves con la función actualizar (), operador de combinación | y operador de actualización |=

Introducción

Un diccionario en Python es una colección de elementos que almacenan datos como pares clave-valor. Podemos acceder y manipular los elementos del diccionario en función de su clave. Los diccionarios son mutables y nos permiten agregarles nuevos elementos.

La forma más rápida de agregar un solo elemento a un diccionario es haciendo referencia al índice de un diccionario con una nueva clave y asignando un valor. Por ejemplo, agregamos un nuevo par clave-valor como este:

1
snacks['chocolate'] = 5

Python también permite agregar varios elementos a los diccionarios. En este tutorial, veremos cómo agregar claves a un diccionario en Python.

Agregar clave a un diccionario de Python

Hay varias formas de agregar un nuevo par clave-valor a un diccionario existente. Echemos un vistazo a algunas formas comunes de hacerlo.

Agregar clave con valor

Podemos agregar una nueva clave a un diccionario asignándole un valor. Si la clave ya está presente, sobrescribe el valor al que apunta. La clave debe escribirse en notación de subíndice al diccionario de esta manera:

1
my_dictionary[new_key] = new_value

Este par clave-valor se agregará al diccionario. Si está utilizando Python 3.6 o posterior, se agregará como el último elemento del diccionario.

Hagamos un diccionario y luego agreguemos un nuevo par clave-valor con este enfoque:

1
2
3
squares = {1: 1, 2: 4, 3: 9}
squares[4] = 16 # Adding new key-value pair
print(squares)

Esto dará como resultado:

1
{1: 1, 2: 4, 3: 9, 4: 16}

Agregar clave al diccionario sin valor

Si solo desea agregar una clave, sin un valor, simplemente puede poner Ninguno en lugar del valor, con cualquiera de los métodos cubiertos en este artículo:

1
2
3
squares = {1: 1, 2: 4, 3: 9}
squares['x'] = None # Adding new key without value
print(squares)

Esto resulta en:

1
{1: 1, 2: 4, 3: 9, 'x': None}

Agregue varios pares de valores clave con update()

En Python, podemos agregar varios pares clave-valor a un diccionario existente. Esto se logra usando el método update(). Este método toma un argumento de tipo dict o cualquier iterable que tenga la longitud de dos, como ((key1, value1),), y actualiza el diccionario con nuevos pares clave-valor.

Si la clave ya está presente en el diccionario, se sobrescribe con el nuevo valor.

Las claves también se pueden pasar como argumentos de palabras clave a este método con sus valores correspondientes, como dictionary.update(new_key=new_value).

Nota: Podría decirse que este es el método más popular para agregar nuevas claves y valores a un diccionario.

Usemos el método update() para agregar varios pares clave-valor a un diccionario:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
rainbow = {'red': 1}

# Update by passing dictionary 
new_key_values_dict = {'orange': 2, 'yellow': 3}
rainbow.update(new_key_values_dict)
print("update by passing dictionary")
print(rainbow)

# Update by passing iterables
new_key_values_itr = (('green',4), ('blue',5))
rainbow.update(new_key_values_itr)
print("update by passing iterables")
print(rainbow)

# Update using keyword arguments
rainbow.update(indigo=6, violet=7)
print("update using keyword arguments")
print(rainbow)

Ejecutar este código producirá el siguiente resultado:

1
2
3
4
5
6
update by passing dictionary
{'red': 1, 'orange': 2, 'yellow': 3}
update by passing iterables
{'red': 1, 'orange': 2, 'yellow': 3, 'green': 4, 'blue': 5}
update using keyword arguments
{'red': 1, 'orange': 2, 'yellow': 3, 'green': 4, 'blue': 5, 'indigo': 6, 'violet': 7}

Usando el operador de combinación (Python 3.9+)

A partir de la versión 3.9 de Python, se agregaron los operadores Combinar (|) y Actualizar (|=) a la clase integrada dict.

Estos son métodos muy convenientes para agregar múltiples pares clave-valor a un diccionario. El operador Merge (|) crea un nuevo diccionario con las claves y valores de ambos diccionarios dados. Entonces podemos asignar este resultado a un nuevo diccionario.

Mientras que el operador Actualizar(|=), agrega los pares clave-valor del segundo diccionario al primer diccionario. Entonces, el diccionario existente se actualiza con varios pares clave-valor de otro diccionario.

Aquí hay un ejemplo del uso de los operadores Merge(|) y Update(|=) para agregar nuevas claves a un diccionario:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
colors_set1 = {red: 1, 'orange’: 2, 'yellow': 3}
colors_set2 = {'green': 4, 'blue': 5, 'indigo': 6, 'violet': 7}

# Merge operator
rainbow = colors_set1 | colors_set2
print("using merge:", rainbow)

# Update operator
colors_set1 |= colors_set2
print("using update:", colors_set1)

Este código producirá el siguiente resultado en el intérprete de Python(3.9+):

1
2
using merge: {'red': 1, 'orange': 2, 'yellow': 3, 'green': 4, 'blue': 5, 'indigo': 6, 'violet': 7}
using update: {'red': 1, 'orange': 2, 'yellow': 3, 'green': 4, 'blue': 5, 'indigo': 6, 'violet': 7}

Conclusión

En este tutorial, aprendimos cómo podemos agregar una nueva clave a un diccionario. Primero agregamos el par clave-valor usando la notación de subíndice: agregamos una clave a un diccionario asignándole un valor. Luego analizamos el método update() para agregar varios pares clave-valor a un diccionario. También hemos usado el método update() con parámetros de tipo diccionario, tupla y argumentos de palabras clave. Por último, investigamos los operadores Merge y Update disponibles desde las versiones 3.9 de Python en adelante.

El método update() del diccionario demuestra ser la forma más popular de agregar nuevas claves a un diccionario existente.