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))
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))
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