Dada una lista de diccionarios, la tarea es escribir un programa en Python para extraer el diccionario con el número máximo de claves.
Entrada : test_list = [{‘Gfg’: 1}, {‘Gfg’: 1, ‘is’: 5, ‘best’: 4}, {‘Gfg’: 2, ‘best’: 9}]
Salida : {‘Gfg’: 1, ‘es’: 5, ‘mejor’: 4}
Explicación : Diccionario con máx. se emite la longitud 3.
Entrada: test_list = [{‘Gfg’: 1}, {‘Gfg’: 2, ‘mejor’: 9}]
Salida: {‘Gfg’: 2, ‘mejor’: 9}
Explicación : Diccionario con máx. se emite la longitud 2.
En esto, iteramos para todos los diccionarios y hacemos un seguimiento de su número de claves, comparando y actualizando al máximo en cada paso.
Este método muestra solo el primer diccionario encontrado con el número máximo de elementos, es decir, si más de un diccionario tiene el mismo número de elementos y este número es máximo, solo se mostrará el primer diccionario.
Ejemplo:
Python3
# initializing list test_list = [{'Gfg': 1}, {'Gfg': 1, 'is': 5, 'best': 4}, {'Gfg': 2, 'best': 9}] # printing original list print("The original list is : " + str(test_list)) res = dict() max_len = 0 for sub in test_list: # comparing and updating maximum dictionary acc. to length if len(sub) > max_len: res = sub max_len = len(sub) # printing result print("Dictionary with maximum keys : " + str(res))
Producción:
La lista original es: [{‘Gfg’: 1}, {‘Gfg’: 1, ‘is’: 5, ‘best’: 4}, {‘Gfg’: 2, ‘best’: 9}]
Diccionario con teclas máximas: {‘Gfg’: 1, ‘is’: 5, ‘best’: 4}
Método 2: Usar max() y comprensión de listas
En esto, obtenemos la longitud máxima del número de claves presentes en las listas de diccionarios. Luego se extraen los diccionarios con la longitud máxima calculada. Este método permite múltiples resultados para las claves coincidentes.
Ejemplo:
Python3
# initializing list test_list = [{'Gfg': 1}, {'Gfg': 1, 'is': 5, 'best': 4}, {'Gfg': 2, 'best': 9, "book": 1}] # printing original list print("The original list is : " + str(test_list)) max_len = max(len(sub) for sub in test_list) res = [sub for sub in test_list if len(sub) == max_len] # printing result print("Dictionary with maximum keys : " + str(res))
Producción:
La lista original es: [{‘Gfg’: 1}, {‘Gfg’: 1, ‘is’: 5, ‘best’: 4}, {‘Gfg’: 2, ‘best’: 9, ‘book’ : 1}]
Diccionario con teclas máximas: [{‘Gfg’: 1, ‘is’: 5, ‘best’: 4}, {‘Gfg’: 2, ‘best’: 9, ‘book’: 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