Python: aplana la tupla de List a tupla

A veces, mientras trabajamos con Tuplas de Python, podemos tener un problema en el que necesitamos realizar el aplanamiento de tuplas, que tienen listas como elementos constitutivos. Este tipo de problema es común en dominios de datos como Machine Learning. Analicemos ciertas formas en que se puede realizar esta tarea.

Entrada : test_tuple = ([5], [6], [3], [8]) Salida : (5, 6, 3, 8) Entrada : test_tuple = ([5, 7, 8]) Salida : (5, 7, 8)

Método #1: Usar sum() + tuple() La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de aplanar usando sum(), pasando lista vacía como argumento. 

Python3

# Python3 code to demonstrate working of
# Flatten tuple of List to tuple
# Using sum() + tuple()
 
# initializing tuple
test_tuple = ([5, 6], [6, 7, 8, 9], [3])
 
# printing original tuple
print("The original tuple : " + str(test_tuple))
 
# Flatten tuple of List to tuple
# Using sum() + tuple()
res = tuple(sum(test_tuple, []))
 
# printing result
print("The flattened tuple : " + str(res))
Producción : 

The original tuple : ([5, 6], [6, 7, 8, 9], [3])
The flattened tuple : (5, 6, 6, 7, 8, 9, 3)

  Método #2: Usar tuple() + chain.from_iterable() La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de aplanar usando from_iterable() y la conversión a tupla usando tuple(). 

Python3

# Python3 code to demonstrate working of
# Flatten tuple of List to tuple
# Using tuple() + chain.from_iterable()
from itertools import chain
 
# initializing tuple
test_tuple = ([5, 6], [6, 7, 8, 9], [3])
 
# printing original tuple
print("The original tuple : " + str(test_tuple))
 
# Flatten tuple of List to tuple
# Using tuple() + chain.from_iterable()
res = tuple(chain.from_iterable(test_tuple))
 
# printing result
print("The flattened tuple : " + str(res))
Producción : 

The original tuple : ([5, 6], [6, 7, 8, 9], [3])
The flattened tuple : (5, 6, 6, 7, 8, 9, 3)

Método #3: Usando los métodos extend() y tuple()

Python3

# Python3 code to demonstrate working of
# Flatten tuple of List to tuple
# initializing tuple
test_tuple = ([5, 6], [6, 7, 8, 9], [3])
 
# printing original tuple
print("The original tuple : " + str(test_tuple))
 
# Flatten tuple of List to tuple
res=[]
for i in test_tuple:
    res.extend(i)
res=tuple(res)
# printing result
print("The flattened tuple : " + str(res))

Producción :

La tupla original: ([5, 6], [6, 7, 8, 9], [3])
La tupla aplanada: (5, 6, 6, 7, 8, 9, 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 *