Programa de Python para actualizar un diccionario con los valores de una lista de diccionarios

Dado un diccionario y una lista de diccionarios, actualice el diccionario con los valores de la lista de diccionarios.

Entrada : test_dict = {“Gfg”: 2, “is”: 1, “Best”: 3}, dict_list = [{‘for’: 3, ‘all’: 7}, {‘and’: 1, ‘CS ‘: 9}] 
Salida : {‘Gfg’: 2, ‘is’: 1, ‘Best’: 3, ‘for’: 3, ‘all’: 7, ‘and’: 1, ‘CS’: 9} 
Explicación : todas las claves del diccionario se actualizaron en un solo diccionario.

Entrada : test_dict = {“Gfg”: 2, “is”: 1, “Best”: 3}, dict_list = [{‘for’: 3, ‘all’: 7}] 
Salida : {‘Gfg’: 2, ‘es’: 1, ‘Mejor’: 3, ‘para’: 3, ‘todos’: 7} 
Explicación : todas las claves del diccionario se actualizaron en un solo diccionario. 

Método n. ° 1: usar update() + bucle

En esto, iteramos a través de todos los elementos en bucle y realizamos una actualización para actualizar todas las claves en el diccionario al diccionario original.

Python3

# Python3 code to demonstrate working of
# Update dictionary with dictionary list
# Using update() + loop
 
# initializing dictionary
test_dict = {"Gfg" : 2, "is" : 1, "Best" : 3}
 
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
 
# initializing dictionary list
dict_list = [{'for' : 3, 'all' : 7}, {'geeks' : 10}, {'and' : 1, 'CS' : 9}]
 
for dicts in dict_list:
     
    # updating using update()
    test_dict.update(dicts)
 
# printing result
print("The updated dictionary : " + str(test_dict))

Producción:

El diccionario original es: {‘Gfg’: 2, ‘is’: 1, ‘Best’: 3} 
 

El diccionario actualizado: {‘Gfg’: 2, ‘is’: 1, ‘Best’: 3, ‘for’: 3, ‘all’: 7, ‘geeks’: 10, ‘and’: 1, ‘CS’ : 9}

Método #2: Usar ChainMap + operador **

En esto, realizamos la tarea de fusionar todos los diccionarios de lista en 1 usando ChainMap y el operador ** se usa para fusionar el diccionario de destino con el diccionario fusionado.

Python3

# Python3 code to demonstrate working of
# Update dictionary with dictionary list
# Using ChainMap + ** operator
from collections import ChainMap
 
# initializing dictionary
test_dict = {"Gfg" : 2, "is" : 1, "Best" : 3}
 
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
 
# initializing dictionary list
dict_list = [{'for' : 3, 'all' : 7}, {'geeks' : 10}, {'and' : 1, 'CS' : 9}]
 
# ** operator extracts keys and re initiates.
# ChainMap is used to merge dictionary list
res = {**test_dict, **dict(ChainMap(*dict_list))}
 
# printing result
print("The updated dictionary : " + str(res))

Producción:

El diccionario original es: {‘Gfg’: 2, ‘is’: 1, ‘Best’: 3}

El diccionario actualizado: {‘Gfg’: 2, ‘is’: 1, ‘Best’: 3, ‘for’: 3, ‘all’: 7, ‘geeks’: 10, ‘and’: 1, ‘CS’ : 9}

Publicación traducida automáticamente

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