Python: elementos de columna en la lista de valores del diccionario

Dado el diccionario con la lista de valores, extraiga los elementos por columnas.

Entrada : test_dict = {‘Gfg’: [3, 6], ‘es’: [4, 2], ‘mejor’: [9, 1]}
Salida : [3, 4, 9, 6, 2, 1]
Explicación : 3, 4, 9 de col1 y luego 6, 2, 1 de 2 se extraen en orden.

Entrada : test_dict = {‘Gfg’: [3], ‘is’: [4], ‘best’: [9]}
Salida : [3, 4, 9]
Explicación : 3, 4, 9 de col1 en orden.

Método n.º 1: usar la expresión del generador + zip() + * operador

En esto, realizamos la tarea de extraer columnas usando zip() y el operador * se usa para desempaquetar valores para aplanarlos aún más en la expresión del generador.

Python3

# Python3 code to demonstrate working of 
# Column-wise elements in Dictionary value list
# Using generator expression + zip() + * operator
  
# initializing dictionary
test_dict = {'Gfg' : [3, 6, 7],
             'is' : [4, 2, 6], 
             'best' :[9, 1, 3]}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# values() gets all values at on
res = list(a for b in zip(*test_dict.values()) for a in b)
  
# printing result 
print("The extracted values : " + str(res)) 
Producción

The original dictionary is : {'Gfg': [3, 6, 7], 'is': [4, 2, 6], 'best': [9, 1, 3]}
The extracted values : [3, 4, 9, 6, 2, 1, 7, 6, 3]

Método #2: Usar chain.from_iterable() + zip() + * operador

En esto, la tarea de aplanar se realiza usando chain.from_iterable(). Resto todas las funcionalidades son similares al método anterior.

Python3

# Python3 code to demonstrate working of 
# Column-wise elements in Dictionary value list
# Using chain.from_iterable() + zip() + * operator
from itertools import chain
  
# initializing dictionary
test_dict = {'Gfg' : [3, 6, 7],
             'is' : [4, 2, 6], 
             'best' :[9, 1, 3]}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# values() gets all values at on
res = list(chain.from_iterable(zip(*test_dict.values())))
  
# printing result 
print("The extracted values : " + str(res)) 
Producción

The original dictionary is : {'Gfg': [3, 6, 7], 'is': [4, 2, 6], 'best': [9, 1, 3]}
The extracted values : [3, 4, 9, 6, 2, 1, 7, 6, 3]

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 *