Dado un diccionario, extraiga todo el diccionario que contenga cualquier clave que tenga valores máximos entre otras claves en la lista de diccionarios.
Entrada : [{“Gfg”: 3, “es”: 7, “Mejor”: 8}, {“Gfg”: 9, “es”: 2, “Mejor”: 9}, {“Gfg”: 5, “es”: 4, “Mejor”: 10}, {“Gfg”: 3, “es”: 6, “Mejor”: 14}] Salida: [{“Gfg”: 3, “es”: 7
, “ Mejor”: 8}, {“Gfg”: 9, “es”: 2, “Mejor”: 9}, {“Gfg”: 3, “es”: 6, “Mejor”: 14}] Explicación:
“ Gfg ” tiene 9 como mejor, “es” tiene 7 y “Mejor” tiene 14, se extraen esos diccionarios.Entrada : [{“Gfg”: 3, “es”: 7, “Mejor”: 8}, {“Gfg”: 9, “es”: 2, “Mejor”: 9}, {“Gfg”: 5, “es”: 4, “Mejor”: 10}, {“Gfg”: 3, “es”: 6, “Mejor”: 16}] Salida: [{“Gfg”: 3, “es”: 7
, “ Mejor”: 8}, {“Gfg”: 9, “es”: 2, “Mejor”: 9}, {“Gfg”: 3, “es”: 6, “Mejor”: 16}] Explicación:
“ Gfg ” tiene 9 como mejor, “es” tiene 7 y “Mejor” tiene 16, se extraen esos diccionarios.
Método: usando max() + filter() + lambda
La combinación de las funcionalidades anteriores se puede utilizar para resolver este problema. En esto, primero se extrae el máximo para una clave en particular y luego se extraen todos los diccionarios que coinciden con la clave máxima. Esto se lleva a cabo para todas las teclas.
Python3
# Python3 code to demonstrate working of # Extract Maximum Keys' value dictionaries # Using max() + filter() + lambda # initializing list test_list = [{"Gfg" : 3, "is" : 7, "Best" : 8}, {"Gfg" : 9, "is" : 2, "Best" : 9}, {"Gfg" : 5, "is" : 4, "Best" : 10}, {"Gfg" : 3, "is" : 6, "Best" : 8}] # printing original list print("The original list : " + str(test_list)) res = [] # getting all keys all_keys = list(test_list[0].keys()) for sub in all_keys: # extracting maximum of each keys temp = max(test_list, key = lambda ele: ele[sub]) res_key = list(filter(lambda ele: ele[sub] == temp[sub], test_list)) res.append(res_key) # printing result print("The extracted maximum key values dictionaries : " + str(res))
The original list : [{'Gfg': 3, 'is': 7, 'Best': 8}, {'Gfg': 9, 'is': 2, 'Best': 9}, {'Gfg': 5, 'is': 4, 'Best': 10}, {'Gfg': 3, 'is': 6, 'Best': 8}] The extracted maximum key values dictionaries : [[{'Gfg': 9, 'is': 2, 'Best': 9}], [{'Gfg': 3, 'is': 7, 'Best': 8}], [{'Gfg': 5, 'is': 4, 'Best': 10}]]
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