Dada la lista de diccionarios y una lista, extraiga todos los diccionarios que contienen el valor máximo disponible de la clave de la lista.
Entrada : test_list [{“Gfg”: 6, “es”: 9, “mejor”: 10},
{“Gfg”: 8, “es”: 11, “mejor”: 19},
{“Gfg”: 2 , «es»: 16, «mejor»: 10}], K = «mejor», arg_list = [10, 7, 6, 12]
Salida : [{‘Gfg’: 6, ‘es’: 9, ‘mejor ‘: 10}, {‘Gfg’: 2, ‘is’: 16, ‘best’: 10}]
Explicación : el valor máximo disponible de «mejor» es 19, pero no está presente en la lista, por lo tanto, el siguiente máx. es 10, se devuelven todos los diccionarios correspondientes.Entrada : test_list [{«Gfg»: 6, «es»: 9, «mejor»: 10},
{«Gfg»: 8, «es»: 11, «mejor»: 19}], K = «Gfg» , arg_list = [10, 7, 6, 12]
Salida : [{‘Gfg’: 6, ‘is’: 9, ‘best’: 10}]
Explicación : el valor máximo presente en este caso es 6, por lo que se devuelve.
Método #1: Usar bucle
Esta es la forma bruta en la que se puede resolver este problema. En esto, el primer valor máximo se obtiene de los valores del diccionario, que también está presente en la lista provista. Publique que se extraen todos los diccionarios que tienen ese valor.
Python3
# Python3 code to demonstrate working of # Maximum available value Dictionaries # Using loop # initializing lists test_list = [{"Gfg" : 6, "is" : 9, "best" : 10}, {"Gfg" : 8, "is" : 11, "best" : 19}, {"Gfg" : 2, "is" : 16, "best" : 10}, {"Gfg" : 12, "is" : 1, "best" : 8}, {"Gfg" : 22, "is" : 6, "best" : 8}] # printing original list print("The original list : " + str(test_list)) # initializing K K = "best" # initializing list arg_list = [10, 7, 6, 12] # extracting value to find from dictionary # corresponding to key max_ele = 0 for sub in test_list: if sub[K] in arg_list: # maximum of all possible present for a key max_ele = max(sub[K], max_ele) # extracting dictionary with maximum and present value of key res = [sub for sub in test_list if sub[K] == max_ele] # printing result print("The extracted dictionaries : " + str(res))
La lista original: [{‘Gfg’: 6, ‘is’: 9, ‘best’: 10}, {‘Gfg’: 8, ‘is’: 11, ‘best’: 19}, {‘Gfg’: 2, ‘es’: 16, ‘mejor’: 10}, {‘Gfg’: 12, ‘es’: 1, ‘mejor’: 8}, {‘Gfg’: 22, ‘es’: 6, ‘mejor ‘: 8}]
Los diccionarios extraídos: [{‘Gfg’: 6, ‘is’: 9, ‘best’: 10}, {‘Gfg’: 2, ‘is’: 16, ‘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