Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to unpack multiple tuples in function call

Tags:

If I have a function def f(a, b, c, d) and two tuples, each with two elements, is there any way to unpack these tuples so that I can send their values to the function?

f(*tup1, *tup2) 
like image 826
Paul Manta Avatar asked May 12 '12 14:05

Paul Manta


1 Answers

As of the release of Python 3.5.0, PEP 448 "Additional Unpacking Generalizations" makes the natural syntax for this valid Python:

>>> f(*tup1, *tup2) 1 2 2 3 

In older versions of Python, you can need to concatenate the tuples together to provide a single expanded argument:

>>> tup1 = 1, 2 >>> tup2 = 2, 3 >>> def f(a, b, c, d):         print(a, b, c, d)  >>> f(*tup1+tup2) 1 2 2 3 
like image 97
Gareth Latty Avatar answered Oct 16 '22 16:10

Gareth Latty