Python: valor máximo disponible Diccionarios

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))
Producción

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *