In [1]:
from __future__ import print_function

In [2]:
a = (
    (4, 5,),
    (1, 2, 3,),
    (6, 7, 8, 9,),
    (10,), # not enough values: Will provoke exception.
)

In [3]:
for first, *middle, last in a:
    print('first=%r, middle=%r, last=%r' % (first, middle, last))


first=4, middle=[], last=5
first=1, middle=[2], last=3
first=6, middle=[7, 8], last=9
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-3-fafd944ca1ee> in <module>()
----> 1 for first, *middle, last in a:
      2     print('first=%r, middle=%r, last=%r' % (first, middle, last))

ValueError: need more than 1 values to unpack