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))
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))
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