Python | Agregar nuevas claves a un diccionario

En este artículo, cubriremos cómo agregar una nueva clave a un diccionario en Python . Usaremos 7 métodos diferentes para agregar nuevas claves a un diccionario.

El diccionario en Python es una colección desordenada de valores de datos, que se utiliza para almacenar valores de datos como un mapa, a diferencia de otros tipos de datos que contienen solo un valor único como elemento, un diccionario contiene un par clave: valor. El valor-clave se proporciona en el diccionario para hacerlo más optimizado. Cada par clave-valor en un Diccionario está separado por dos puntos: mientras que cada clave está separada por una ‘coma’. Las claves de un Diccionario deben ser únicas y de tipos de datos inmutables como Strings, Integers y tuplas, pero los valores de las claves pueden repetirse y ser de cualquier tipo. Veamos cómo podemos agregar nuevas claves a un diccionario usando diferentes formas de un diccionario.

Crea un diccionario primero

Python3

# Let's create a dictionary, the functional way
 
# Create your dictionary class
class my_dictionary(dict):
 
  # __init__ function
  def __init__(self):
    self = dict()
 
  # Function to add key:value
  def add(self, key, value):
    self[key] = value
 
 
# Main Function
dict_obj = my_dictionary()
 
dict_obj.add(1, 'Geeks')
dict_obj.add(2, 'forGeeks')
 
print(dict_obj)

Producción:

{1: 'Geeks', 2: 'forGeeks'}

Método 1: agregue nuevas claves utilizando la notación de subíndices 

Este método creará un nuevo par clave\valor en un diccionario asignando un valor a esa clave. Si la clave no existe, se agregará y apuntará a ese valor. Si la clave existe, se sobrescribirá el valor actual al que apunta. 

Python3

dict = {'key1': 'geeks', 'key2': 'fill_me'}
print("Current Dict is: "
  , dict)
 
# using the subscript notation
# Dictionary_Name[New_Key_Name] = New_Key_Value
dict['key2'] = 'for'
dict['key3'] = 'geeks'
print("Updated Dict is:"
  , dict)

Producción:

Current Dict is:  {'key1': 'geeks', 'key2': 'fill_me'}
Updated Dict is:  {'key3': 'geeks', 'key1': 'geeks', 'key2': 'for'}

Método 2: agregue nuevas claves usando el método de actualización() 

Cuando tenemos que actualizar/agregar muchas claves/valores al diccionario, el método update() es adecuado. El método update() inserta los elementos especificados en el diccionario.

Python3

dict = {'key1': 'geeks', 'key2': 'for'}
print(
  "Current Dict is:"
  , dict)
 
# adding key3
dict.update({'key3': 'geeks'})
print(
  "Updated Dict is: "
  , dict)
 
# adding dict1 (key4 and key5) to dict
dict1 = {'key4': 'is', 'key5': 'fabulous'}
dict.update(dict1)
print(dict)
 
# by assigning
dict.update(newkey1='portal')
print(dict)

Producción:

Current Dict is: {'key1': 'geeks', 'key2': 'for'}

Updated Dict is:  {'key1': 'geeks', 'key2': 'for', 
'key3': 'geeks'}

{'key1': 'geeks', 'key2': 'for', 'key3': 'geeks', 
'key4': 'is', 'key5': 'fabulous'}

{'key1': 'geeks', 'key2': 'for', 'key3': 'geeks', 
'key4': 'is', 'key5': 'fabulous', 'newkey1': 'portal'}

Método 3: Agregar nuevas claves usando el método __setitem__

El método __setitem__ para agregar un par clave-valor a un dict usando el método __setitem__. Debe evitarse debido a su bajo rendimiento (ineficiente desde el punto de vista informático). 

Python3

dict = {'key1': 'geeks', 'key2': 'for'}
 
# using __setitem__ method
dict.__setitem__('newkey2', 'GEEK')
print(dict)

Producción:

{'key2': 'for', 'newkey2': 'GEEK', 'key1': 'geeks'}

 Método 4: Agregar nuevas claves usando el operador ** 

Podemos fusionar el diccionario antiguo y el nuevo par clave/valor en otro diccionario. El uso de ** delante de pares clave-valor como **{‘c’: 3} lo desempaquetará como un nuevo objeto de diccionario.

Python3

dict = {'a': 1, 'b': 2}
 
# will create a new dictionary
new_dict = {**dict, **{'c': 3}}
 
print(dict)
print(new_dict)

Producción:

{'b': 2, 'a': 1}
{'b': 2, 'c': 3, 'a': 1}

Método 5: agregue nuevas claves utilizando el operador » in» y las declaraciones IF .

Si la clave aún no está presente en el diccionario, la clave se agregará al diccionario mediante la instrucción if. Si se evalúa como falso, se imprimirá el mensaje «El diccionario ya tiene una clave «.

Python3

mydict = {"a": 1, "b": 2, "c": 3}
 
if "d" not in mydict:
    mydict["d"] = "4"
else:
    print("Dictionary already has key : One. Hence value is not overwritten ")
 
print(mydict)

Producción:

{'a': 1, 'b': 2, 'c': 3, 'd': '4'}

Método 6: agregue nuevas claves usando un bucle for y el método enumerate()

Haz una lista de elementos. Use el método enumerate() para iterar la lista y luego agregue cada elemento al diccionario usando su índice como clave para cada valor.

Python3

list1 = {"a": 1, "b": 2, "c": 3}
list2 = ["one: x", "two:y", "three:z"]
 
# Using for loop enumerate()
for i, val in enumerate(list2):
 
    list1[i] = val
 
print(list1)

Producción:

{'a': 1, 'b': 2, 'c': 3, 0: 'one: x', 1: 'two:y', 2: 'three:z'}

Ejemplo 7: agregar varios elementos a un diccionario de Python con Zip

En este ejemplo, estamos usando un método zip de python para agregar claves y valores a un diccionario vacío python . También puede usar an en el diccionario existente para agregar elementos en el diccionario en lugar de un diccionario = {}

Python3

dictionary = {}
 
keys = ['key2', 'key1', 'key3']
values = ['geeks', 'for', 'geeks']
 
for key, value in zip(keys, values):
    dictionary[key] = value
print(dictionary)

Producción:

{'key2': 'geeks', 'key1': 'for', 'key3': 'geeks'}

Publicación traducida automáticamente

Artículo escrito por Shivam_k 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 *