Python | Desempaquetando tupla de listas

Dada una tupla de listas, escriba un programa Python para desempaquetar los elementos de las listas que están empaquetados dentro de la tupla dada. Ejemplos:

Input : (['a', 'apple'], ['b', 'ball'])
Output : ['a', 'apple', 'b', 'ball']

Input : ([1, 'sam', 75], [2, 'bob', 39], [3, 'Kate', 87])
Output : [1, 'sam', 75, 2, 'bob', 39, 3, 'Kate', 87]

  Enfoque #1: Usar reduce() reduce() es una operación de lista clásica que se usa para aplicar una función particular pasada en su argumento a todos los elementos de la lista. En este caso, usamos la función de agregar del módulo del operador , que simplemente agrega los argumentos de la lista dada a una lista vacía. 

Python3

# Python3 program to unpack
# tuple of lists
from functools import reduce
import operator
 
def unpackTuple(tup):
     
    return (reduce(operator.add, tup))
 
# Driver code
tup = (['a', 'apple'], ['b', 'ball'])
print(unpackTuple(tup))
Producción:

['a', 'apple', 'b', 'ball']

  Enfoque n.º 2: uso de Numpy [alternativa al enfoque n.º 1] 

Python3

# Python3 program to unpack
# tuple of lists
from functools import reduce
import numpy
  
def unpackTuple(tup):
      
    print (reduce(numpy.append, tup))
     
# Driver code
tup = (['a', 'apple'], ['b', 'ball'])
unpackTuple(tup)
Producción:

['a' 'apple' 'b' 'ball']

  Enfoque #3: Usar itertools.chain(*iterables) itertools.chain(*iterables) hacer un iterador que devuelva elementos desde el primer iterable hasta que se agote, luego continúe con el siguiente iterable, hasta que se agoten todos los iterables. Esto hace que nuestro trabajo sea mucho más fácil, ya que simplemente podemos agregar cada iterable a la lista vacía y devolverlo. 

Python3

# Python3 program to unpack
# tuple of lists
from itertools import chain
 
def unpackTuple(tup):
    res = []
    for i in chain(*tup):
        res.append(i)
         
    print(res)
     
# Driver code
tup = (['a', 'apple'], ['b', 'ball'])
unpackTuple(tup)
Producción:

['a', 'apple', 'b', 'ball']

Enfoque #4: Usando extend()

Inicialice la lista vacía, itere sobre la tupla y use el método extend() para agregar elementos de lista a una lista inicializada. Finalmente, muestre la nueva lista

Python3

# Python3 program to unpack
# tuple of lists
tup = (['a', 'apple'], ['b', 'ball'])
x=[]
for i in tup:
    x.extend(i)
print(x)
Producción

['a', 'apple', 'b', 'ball']

Publicación traducida automáticamente

Artículo escrito por Smitha Dinesh Semwal 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 *