Python | Iterar a través del diccionario de listas de valores

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))
Producción :

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 itemsla 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))
Producción :

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *