Python: extraiga el valor de la clave del diccionario de valor máximo de K

Dada la Lista de diccionarios, extraiga el valor de las claves i’th dependiendo del valor máximo de la clave Kth.

Entrada : lista_prueba = [{“Gfg”: 3, “es”: 9, “mejor”: 10}, {“Gfg”: 8, “es”: 11, “mejor”: 19}, {“Gfg”: 9, «es»: 16, «mejor»: 1}], K = «mejor», i = «es»
Salida : 11
Explicación : el mejor es el máximo en 19, su valor «es» correspondiente es 11.

Entrada : lista_prueba = [{“Gfg”: 3, “es”: 9, “mejor”: 10}, {“Gfg”: 8, “es”: 11, “mejor”: 19}, {“Gfg”: 9, «es»: 16, «mejor»: 1}], K = «Gfg», i = «es»
Salida : 16
Explicación : Gfg es máximo en 9, su valor «es» correspondiente es 16.

Método #1: Usar max() + lambda

La combinación de las funciones anteriores se puede utilizar para resolver este problema. En esto, extraemos el máximo de la clave kth usando max() y lambda. Luego, la i-ésima clave se extrae del diccionario extraído.

Python3

# Python3 code to demonstrate working of 
# Extract ith Key's Value of K's Maximum value dictionary
# Using max() + lambda
  
# initializing lists
test_list = [{"Gfg" : 3, "is" : 9, "best" : 10}, 
             {"Gfg" : 8, "is" : 11, "best" : 19},
             {"Gfg" : 9, "is" : 16, "best" : 1}]
  
# printing original list
print("The original list : " + str(test_list))
  
# initializing K 
K = "best"
  
# initializing i 
i = "Gfg"
  
# using get() to handle missing key, assigning lowest value
res = max(test_list, key = lambda ele : ele.get(K, 0))[i]
      
# printing result 
print("The required value : " + str(res))
Producción

The original list : [{'Gfg': 3, 'is': 9, 'best': 10}, {'Gfg': 8, 'is': 11, 'best': 19}, {'Gfg': 9, 'is': 16, 'best': 1}]
The required value : 8

Método #2: Usar max() + función externa

Esta es otra manera de resolver este problema. Esto se calcula de manera similar al método anterior, solo que la diferencia es el uso de un comparador personalizado en lugar de la función lambda.

Python3

# Python3 code to demonstrate working of 
# Extract ith Key's Value of K's Maximum value dictionary
# Using max() + external function
  
# custom function as comparator
def cust_fnc(ele):
    return ele.get(K, 0) 
  
# initializing lists
test_list = [{"Gfg" : 3, "is" : 9, "best" : 10}, 
             {"Gfg" : 8, "is" : 11, "best" : 19},
             {"Gfg" : 9, "is" : 16, "best" : 1}]
  
# printing original list
print("The original list : " + str(test_list))
  
# initializing K 
K = "best"
  
# initializing i 
i = "Gfg"
  
# using get() to handle missing key, assigning lowest value
res = max(test_list, key = cust_fnc)[i]
      
# printing result 
print("The required value : " + str(res))
Producción

The original list : [{'Gfg': 3, 'is': 9, 'best': 10}, {'Gfg': 8, 'is': 11, 'best': 19}, {'Gfg': 9, 'is': 16, 'best': 1}]
The required value : 8

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 *