A veces, mientras trabajamos con diccionarios de Python, podemos tener un problema en el que necesitamos realizar la agrupación de datos del diccionario, de manera que necesitamos agrupar todas las claves de diccionarios similares con su frecuencia. Este tipo de problema tiene su aplicación en el dominio del desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.
Entrada : test_list = [{‘mejor’: 2, ‘Gfg’: 1}, {‘mejor’: 2, ‘Gfg’: 1}]
Salida : [{‘freq’: 2, ‘Gfg’: 1}]Entrada : lista_prueba = [{‘Gfg’: 1, ‘mejor’: 2}, {‘Gfg’: 2, ‘mejor’: 1}]
Salida : [{‘Gfg’: 1, ‘frecuencia’: 1}, {‘Gfg’: 2, ‘frecuencia’: 1}]
Método #1: Uso defaultdict()
de la comprensión de lista +
La combinación de las funciones anteriores se puede utilizar para realizar esta tarea. En esto, inicializamos el dictamen predeterminado con un número entero para obtener la frecuencia y la comprensión de la lista se usa para compilar el diccionario resultante.
# Python3 code to demonstrate working of # Frequency Grouping Dictionary # Using defaultdict() + list comprehension from collections import defaultdict # initializing list test_list = [{'Gfg' : 1, 'best' : 2}, {'Gfg' : 1, 'best' : 2}, {'Gfg' : 2, 'good' : 3}, {'Gfg' : 2, 'best' : 2}, {'Gfg' : 2, 'good' : 3}] # printing original list print("The original list is : " + str(test_list)) # Frequency Grouping Dictionary # Using defaultdict() + list comprehension temp = defaultdict(int) for sub in test_list: key = sub['Gfg'] temp[key] += 1 res = [{"Gfg": key, "freq": val} for (key, val) in temp.items()] # printing result print("The frequency dictionary : " + str(res))
La lista original es: [{‘Gfg’: 1, ‘best’: 2}, {‘Gfg’: 1, ‘best’: 2}, {‘good’: 3, ‘Gfg’: 2}, {‘ Gfg’: 2, ‘best’: 2}, {‘good’: 3, ‘Gfg’: 2}]
El diccionario de frecuencias: [{‘Gfg’: 1, ‘freq’: 2}, {‘Gfg’: 2, ‘frecuencia’: 3}]
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