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