A veces, mientras trabajamos con los diccionarios de Python, podemos tener un problema en el que necesitamos extraer la media de las listas de valores anidados en el diccionario. Este problema puede tener aplicación en muchos dominios, incluido el desarrollo web y la programación competitiva. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.º 1: usarmean() + loop
la combinación de las funciones anteriores proporciona la forma bruta de resolver este problema. En esto, realizamos la tarea de encontrar la media usando la biblioteca mean() incorporada e iteramos para anidar usando loop.
# Python3 code to demonstrate working of # Inner Nested Value List Mean in Dictionary # Using mean() + loop from statistics import mean # initializing dictionary test_dict = {'Gfg' : {'a' : [1, 5, 6, 7], 'b' : [6, 7, 8, 9]}, 'is' : {'best' :[2, 8, 9, 0]}} # printing original dictionary print("The original dictionary : " + str(test_dict)) # Inner Nested Value List Mean in Dictionary # Using mean() + loop for sub in test_dict.values(): for key in sub: sub[key] = mean(sub[key]) # printing result print("The modified dictionary : " + str(test_dict))
El diccionario original: {‘Gfg’: {‘a’: [1, 5, 6, 7], ‘b’: [6, 7, 8, 9]}, ‘is’: {‘best’: [2 , 8, 9, 0]}}
El diccionario modificado: {‘Gfg’: {‘a’: 4.75, ‘b’: 7.5}, ‘is’: {‘best’: 4.75}}
Método #2: Usar la comprensión del diccionario +mean()
Esta es otra forma de resolver este problema. En esto, realizamos una tarea similar al método anterior. Pero la diferencia es que de forma compacta y de una sola línea.
# Python3 code to demonstrate working of # Inner Nested Value List Mean in Dictionary # Using dictionary comprehension + mean() from statistics import mean # initializing dictionary test_dict = {'Gfg' : {'a' : [1, 5, 6, 7], 'b' : [6, 7, 8, 9]}, 'is' : {'best' :[2, 8, 9, 0]}} # printing original dictionary print("The original dictionary : " + str(test_dict)) # Inner Nested Value List Mean in Dictionary # Using dictionary comprehension + mean() res = {idx: {key: mean(idx) for key, idx in j.items()} for idx, j in test_dict.items()} # printing result print("The modified dictionary : " + str(res))
El diccionario original: {‘Gfg’: {‘a’: [1, 5, 6, 7], ‘b’: [6, 7, 8, 9]}, ‘is’: {‘best’: [2 , 8, 9, 0]}}
El diccionario modificado: {‘Gfg’: {‘a’: 4.75, ‘b’: 7.5}, ‘is’: {‘best’: 4.75}}
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