Python: valor máximo en el diccionario anidado

A veces, mientras trabajamos con el diccionario de Python, podemos tener problemas en los que cada clave en sí misma es un registro con varias claves y deseamos sustituir el valor como valor máximo de las claves del diccionario. Este tipo de problema puede tener aplicación en muchos dominios que involucran datos. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Uso del bucle
Esta es la forma bruta en la que se puede realizar esta tarea. En esto, iteramos para que las claves de cada clave obtengan el valor máximo y se establezcan en el diccionario resultante.

# Python3 code to demonstrate working of 
# Maximum Value in Nested Dictionary
# Using loop
  
# initializing dictionary
test_dict = {'gfg' : {'a' : 15, 'b' : 14},
             'is' : {'d' : 2, 'e' : 10, 'f' :  3},
             'best' : {'g' : 19}}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# Maximum Value in Nested Dictionary
# Using loop
res = {}
for key, val in test_dict.items():
    max_val = 0
    for ele in val.values():
        if ele > max_val:
            max_val = ele
    res[key] = max_val
      
# printing result 
print("The modified dictionary : " + str(res)) 
Producción :

El diccionario original es: {‘is’: {‘f’: 3, ‘e’: 10, ‘d’: 2}, ‘gfg’: {‘a’: 15, ‘b’: 14}, ‘best ‘: {‘g’: 19}}
El diccionario modificado: {‘best’: 19, ‘is’: 10, ‘gfg’: 15}

Método #2: Usar max()+ comprensión de diccionario
Esta es otra forma en la que se puede realizar esta tarea. En esto, realizamos la tarea de extraer el máximo usando max() y la comprensión del diccionario se usa para iterar y construir un nuevo diccionario.

# Python3 code to demonstrate working of 
# Maximum Value in Nested Dictionary
# Using max() + dictionary comprehension
  
# initializing dictionary
test_dict = {'gfg' : {'a' : 15, 'b' : 14},
             'is' : {'d' : 2, 'e' : 10, 'f' :  3},
             'best' : {'g' : 19}}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# Maximum Value in Nested Dictionary
# Using max() + dictionary comprehension
res = {key: max(val.values()) for key, val in test_dict.items()}
      
# printing result 
print("The modified dictionary : " + str(res)) 
Producción :

El diccionario original es: {‘is’: {‘f’: 3, ‘e’: 10, ‘d’: 2}, ‘gfg’: {‘a’: 15, ‘b’: 14}, ‘best ‘: {‘g’: 19}}
El diccionario modificado: {‘best’: 19, ‘is’: 10, ‘gfg’: 15}

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 *