A veces, mientras trabajamos con diccionarios, podemos tener problemas en los que necesitamos calcular los valores asociados a cada valor en el diccionario en la lista de registros. Este tipo de problema es peculiar, pero puede tener aplicación en dominios de desarrollo. Vamos a discutir cierta forma en que se puede realizar esta tarea.
Método: Uso anidadodefaultdict() + Counter()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, usamos dictados predeterminados anidados para realizar un seguimiento de los elementos y el contador() realiza el conteo de elementos.
# Python3 code to demonstrate working of # Associated Values Frequencies in Dictionary # Using defaultdict() + Counter() from collections import defaultdict, Counter # initializing list test_list = [{'gfg' : 1, 'is' : 3, 'best' : 4}, {'gfg' : 3, 'is' : 2, 'best' : 4}, {'gfg' : 3, 'is' : 5, 'best' : 2}, {'gfg' : 5, 'is' : 2, 'best' : 1}, {'gfg' : 2, 'is' : 4, 'best' : 3}, {'gfg' : 1, 'is' : 3, 'best' : 5}, {'gfg' : 1, 'is' : 3, 'best' : 2}] # printing original list print("The original list is : " + str(test_list)) # Associated Values Frequencies in Dictionary # Using defaultdict() + Counter() res = defaultdict(Counter) for sub in test_list: for key, val in sub.items(): res[key][val] += 1 # printing result print("The list after Frequencies : " + str(dict(res)))
La lista original es: [{‘gfg’: 1, ‘is’: 3, ‘best’: 4}, {‘gfg’: 3, ‘is’: 2, ‘best’: 4}, {‘gfg’ : 3, ‘es’: 5, ‘mejor’: 2}, {‘gfg’: 5, ‘es’: 2, ‘mejor’: 1}, {‘gfg’: 2, ‘es’: 4, ‘ mejor’: 3}, {‘gfg’: 1, ‘es’: 3, ‘mejor’: 5}, {‘gfg’: 1, ‘es’: 3, ‘mejor’: 2}]
La lista después de Frecuencias : {‘gfg’: Contador ({1: 3, 3: 2, 2: 1, 5: 1}), ‘es’: Contador ({3: 3, 2: 2, 4: 1, 5: 1} ), ‘mejor’: Contador ({2: 2, 4: 2, 1: 1, 3: 1, 5: 1})}
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