How to unpack multiple tuples in function call

python, tuples

Solution

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

Problem

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

Original source