Mientras trabajamos con el diccionario, podemos tener un caso en el que necesitemos iterar a través de las listas, que están en las claves de los diccionarios. Este tipo de problema puede ocurrir en el dominio de desarrollo web. Analicemos ciertas formas en que se puede resolver este problema.
Método #1: Uso de la comprensión de listas La comprensión de listas
se puede utilizar para realizar esta tarea en particular. Es solo la abreviatura de los bucles anidados convencionales. iteramos para la lista de cada clave y almacenamos el resultado.
# Python3 code to demonstrate working of # Iterating through value lists dictionary # Using list comprehension # Initialize dictionary test_dict = {'gfg' : [1, 2], 'is' : [4, 5], 'best' : [7, 8]} # printing original dictionary print("The original dictionary : " + str(test_dict)) # Using list comprehension # Iterating through value lists dictionary res = [[i for i in test_dict[x]] for x in test_dict.keys()] # printing result print("The list values of keys are : " + str(res))
El diccionario original: {‘mejor’: [7, 8], ‘es’: [4, 5], ‘gfg’: [1, 2]}
Los valores de la lista de claves son: [[7, 8], [ 4, 5], [1, 2]]
Método #2: Usarfrom_iterable() + product() + items()
La combinación de las funciones anteriores se puede usar para realizar esta tarea en particular. Se from_iterable()
puede usar para reducir el bucle interno y items
la función se usa para extraer pares de valores clave en el diccionario.
# Python3 code to demonstrate working of # Iterating through value lists dictionary # Using from_iterable() + product() + items() import itertools # Initialize dictionary test_dict = {'gfg' : [1, 2], 'is' : [4, 5], 'best' : [7, 8]} # printing original dictionary print("The original dictionary : " + str(test_dict)) # Iterating through value lists dictionary # Using from_iterable() + product() + items() res = [] for key, value in ( itertools.chain.from_iterable( [itertools.product((k, ), v) for k, v in test_dict.items()])): res.append(value) # printing result print("The list values of keys are : " + str(res))
El diccionario original: {‘mejor’: [7, 8], ‘es’: [4, 5], ‘gfg’: [1, 2]}
Los valores de la lista de claves son: [7, 8, 1, 2 , 4, 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