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))
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]))
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