Python: extraiga el valor de la clave de la lista de diccionarios mixtos

Dada una lista de diccionarios, cada uno de los cuales tiene diferentes claves, extraiga el valor de la clave K.

Entrada : test_list = [{“Gfg”: 3, “b”: 7}, {“is”: 5, ‘a’: 10}, {“Best”: 9, ‘c’: 11}], K = ‘b’ 
Salida : 7 
Explicación : El valor de b es 7.

Entrada : test_list = [{“Gfg”: 3, “b”: 7}, {“is”: 5, ‘a’: 10}, {“Best”: 9, ‘c’: 11}], K = ‘c’ 
Salida : 11 
Explicación : El valor de c es 11. 
 

Método #1: Usar la comprensión de listas

Esta es una de las formas en que se puede realizar esta tarea. En esto, iteramos para cada diccionario dentro de la lista y verificamos la clave en él, si está presente, se devuelve el valor requerido.

Python3

# Python3 code to demonstrate working of
# Extract Key's value from Mixed Dictionaries List
# Using list comprehension
 
# initializing list
test_list = [{"Gfg" : 3, "b" : 7},
             {"is" : 5, 'a' : 10},
             {"Best" : 9, 'c' : 11}]
 
# printing original list
print("The original list : " + str(test_list))
 
# initializing K
K = 'Best'
 
# list comprehension to get key's value
# using in operator to check if key is present in dictionary
res = [sub[K] for sub in test_list if K in sub][0]
 
# printing result
print("The extracted value : " + str(res))
Producción

The original list : [{'Gfg': 3, 'b': 7}, {'is': 5, 'a': 10}, {'Best': 9, 'c': 11}]
The extracted value : 9

Método n.º 2: Usar update() + loop

Esta es otra forma más en la que se puede realizar esta tarea. En esto, actualizamos cada diccionario entre sí. Formando un diccionario grande, y luego el valor se extrae de este diccionario.

Python3

# Python3 code to demonstrate working of
# Extract Key's value from Mixed Dictionaries List
# Using update() + loop
 
# initializing list
test_list = [{"Gfg" : 3, "b" : 7},
             {"is" : 5, 'a' : 10},
             {"Best" : 9, 'c' : 11}]
 
# printing original list
print("The original list : " + str(test_list))
 
# initializing K
K = 'Best'
 
res = dict()
for sub in test_list:
     
    # merging all Dictionaries into 1
    res.update(sub)
 
# printing result
print("The extracted value : " + str(res[K]))
Producción

The original list : [{'Gfg': 3, 'b': 7}, {'is': 5, 'a': 10}, {'Best': 9, 'c': 11}]
The extracted value : 9

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 *