Python | Segregación del valor de la clave en la lista de diccionarios

Mientras trabajamos con diccionarios, podemos encontrarnos con problemas en los que necesitamos segregar todos los valores de claves similares. Este tipo de problema puede ocurrir en el dominio de desarrollo web mientras se trabaja con la base de datos. Analicemos ciertas formas en que se puede resolver este problema.

Método n.º 1: usar una expresión
generadora Se puede usar una expresión generadora para realizar esta tarea en particular. En esto, tomamos una clave a la vez y buscamos las claves coincidentes en todos los diccionarios. El inconveniente es que necesitamos saber la clave por adelantado.

# Python3 code to demonstrate working of
# Segregating key's value in list of dictionaries
# Using generator expression
  
# Initialize list
test_list = [{'gfg' : 1, 'best' : 2}, {'gfg' : 4, 'best': 5}]
  
# printing original list
print("The original list : " +  str(test_list))
  
# Using generator expression
# Segregating key's value in list of dictionaries
res = [tuple(sub["gfg"] for sub in test_list),
      tuple(sub["best"] for sub in test_list)]
      
# printing result 
print("Segregated values of keys are : " + str(res))
Producción :

La lista original: [{‘best’: 2, ‘gfg’: 1}, {‘best’: 5, ‘gfg’: 4}]
Los valores separados de las claves son: [(1, 4), (2, 5 )]

Método #2: Usarzip() + map() + values()
la combinación de las funciones anteriores también puede realizar una tarea similar en una línea. En esto, values()se usa para extraer valores, map()se usa para vincular claves individuales entre sí y finalmente zip()une sus valores correspondientes a una sola tupla.

# Python3 code to demonstrate working of
# Segregating key's value in list of dictionaries
# Using zip() + map() + values()
  
# Initialize list
test_list = [{'gfg' : 1, 'best' : 2}, {'gfg' : 4, 'best': 5}]
  
# printing original list
print("The original list : " +  str(test_list))
  
# Using zip() + map() + values()
# Segregating key's value in list of dictionaries
res = list(zip(*map(dict.values, test_list)))
      
# printing result 
print("Segregated values of keys are : " + str(res))
Producción :

La lista original: [{‘best’: 2, ‘gfg’: 1}, {‘best’: 5, ‘gfg’: 4}]
Los valores separados de las claves son: [(1, 4), (2, 5 )]

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 *