Python | Unpacking tuples of lists

NumPy | Python Methods and Functions

Examples :

  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]  

Approach # 1: Using reduce()

reduce () — classic list operation, used to apply a specific function passed in its argument to all elements of the list In this case, we used the add function of the operator module which simply adds the given list arguments to an empty list.

# Python3 unpacking program
# 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))

Exit :

 [`a`,` apple`, `b`,` ball`] 

Approach # 2 Using Numpy [Alternative Approach # 1]

# Python3 unpacker
# 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)

Exit :

 [`a`` apple` `b`` ball`] 

Approach # 3 Usage itertools.chain(*iterables)

itertools.chain (* iterables) creates an iterator that returns items from the first iteration until it is exhausted , then moves on to the next iteration until all iterations are exhausted. This makes our job much easier because we can simply add each iteration to an empty list and return it.

Exit :

 [`a`,` apple`, `b`,` ball`] 




Get Solution for free from DataCamp guru

# Python3 unpacker
# 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)