Python: listas de valores de agrupación vertical

A veces, mientras trabajamos con los diccionarios de Python, podemos tener un problema en el que necesitamos agrupar todos los valores de la lista verticalmente, es decir, con un índice similar. Este tipo de problema puede tener aplicaciones en muchos dominios, como el desarrollo web. Analicemos ciertas formas en que se puede resolver este problema.

Entrada : test_dict = {‘Gfg’: [4, 8], ‘es’: [87, 2], ‘mejor’: [14, 1]}
Salida : [(4, 87, 14), (8, 2 , 1)]

Entrada : test_dict = {‘Gfg’: [4, 6, 7, 8]}
Salida : [(4, ), (6, ), (7, ), (8, )]

Método n.º 1: Usar comprensión de lista + zip() + *operador
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de extraer valores usando valores() y zip() se usa para realizar la agrupación vertical después de desempaquetar usando el operador *.

# Python3 code to demonstrate working of 
# Vertical Grouping Value Lists
# Using list comprehension + zip() + * operator
  
# initializing dictionary
test_dict = {'Gfg': [4, 5, 7], 'is': [8, 9, 10], 'best' : [10, 12, 14]}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# Vertical Grouping Value Lists
# Using list comprehension + zip() + * operator
res = [tuple(idx) for idx in zip(*test_dict.values())]
      
# printing result 
print("The grouped values : " + str(res)) 
Producción :

The original dictionary is : {'Gfg': [4, 5, 7], 'is': [8, 9, 10], 'best': [10, 12, 14]}
The grouped values : [(4, 8, 10), (5, 9, 12), (7, 10, 14)]

Método #2: Usarlist() + zip() + values()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de manera similar al método anterior, la diferencia es usar list() en lugar de comprensión de lista.

# Python3 code to demonstrate working of 
# Vertical Grouping Value Lists
# Using list() + zip() + values()
  
# initializing dictionary
test_dict = {'Gfg': [4, 5, 7], 'is': [8, 9, 10], 'best' : [10, 12, 14]}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# Vertical Grouping Value Lists
# Using list() + zip() + values()
res = list(zip(*test_dict.values()))
      
# printing result 
print("The grouped values : " + str(res)) 
Producción :

The original dictionary is : {'Gfg': [4, 5, 7], 'is': [8, 9, 10], 'best': [10, 12, 14]}
The grouped values : [(4, 8, 10), (5, 9, 12), (7, 10, 14)]

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 *