A veces, mientras trabajamos con diccionarios de Python, podemos tener un problema en el que necesitamos extraer la frecuencia de los valores en el diccionario. Este es un problema bastante común y tiene aplicaciones en muchos dominios, incluido el desarrollo web y la programación diaria. Analicemos ciertas formas en que se puede realizar esta tarea.
Entrada : test_dict = {‘ide’: 3, ‘Gfg’: 3, ‘code’: 2}
Salida : {3: 2, 2: 1}Entrada : test_dict = {10: 1, 20: 2, 30: 1, 40: 2}
Salida : {1: 2, 2: 2}
Método #1: Usar el defaultdict()
bucle +
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, usamos defaultdict() para inicializar el diccionario de contadores con números enteros e incrementar el contador en forma de fuerza bruta usando loop.
# Python3 code to demonstrate working of # Dictionary Values Frequency # Using defaultdict() + loop from collections import defaultdict # initializing dictionary test_dict = {'ide' : 3, 'Gfg' : 3, 'code' : 2} # printing original dictionary print("The original dictionary : " + str(test_dict)) # Dictionary Values Frequency # Using defaultdict() + loop res = defaultdict(int) for key, val in test_dict.items(): res[val] += 1 # printing result print("The frequency dictionary : " + str(dict(res)))
The original dictionary : {'Gfg': 3, 'code': 2, 'ide': 3} The frequency dictionary : {2: 1, 3: 2}
Método #2: UsarCounter() + values()
La combinación de las funciones anteriores se puede usar para resolver este problema. En este, realizamos la tarea de extracción de valores usando valores() y contador de frecuencia usando Counter().
# Python3 code to demonstrate working of # Dictionary Values Frequency # Using Counter() + values() from collections import Counter # initializing dictionary test_dict = {'ide' : 3, 'Gfg' : 3, 'code' : 2} # printing original dictionary print("The original dictionary : " + str(test_dict)) # Dictionary Values Frequency # Using defaultdict() + loop res = Counter(test_dict.values()) # printing result print("The frequency dictionary : " + str(dict(res)))
The original dictionary : {'code': 2, 'Gfg': 3, 'ide': 3} The frequency dictionary : {2: 1, 3: 2}
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