unpacking is:
>>> a,b,c = range(3)
>>> a,b,c
(0, 1, 2)
>>> x,y,*z = range(10)
>>> x,y,z
(0, 1, [2, 3, 4, 5, 6, 7, 8, 9])
>>> w = x,y,*z #new in python-3.5
>>> w
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
>>> a = 1
>>> b = (2,3,4)
>>> c = 17
>>> ww = a,*b,c #new in python-3.5
>>> ww
(1, 2, 3, 4, 17)
>>> type(w)
<class 'tuple'>
>>> #dicts
...
>>> D = {'p':50,'f':20,'h':0}
>>> ww = *D.values(),*ww #new in python-3.5
>>> ww
(50, 20, 0, 1, 2, 3, 4, 17)
>>> d1 = {'a':1000}
>>> d2 = {'b':2}
>>> d3 = {'a':0, 'c':1}
>>> d = dict(d1) #copy dict
>>> d.update(d2)
>>> d.update(d3)
>>> d
{'a': 0, 'b': 2, 'c': 1}
>>> {**d1,**d2,**d3} #new in python-3.5
{'a': 0, 'b': 2, 'c': 1}
>>> def f(a,b,c):
... print( a,b,c )
>>> dd = {'a':0, 'b':1, 'c':2}
>>> args = [0,1,2]
>>> f(*args)
0 1 2
>>> f(**dd)
0 1 2
>>> a_1 = [0,1]
>>> a_2 = [2]
>>> f( *(a_1+a_2)) #old style
0 1 2
>>> f( *a_1, *a_2 ) #new in python-3.5
0 1 2
>>> d_1 = {'a':0, 'b':1}
>>> d_2 = {'c':2}
>>> f(**d_1, **d_2) #new in python-3.5
0 1 2
>>> list_1 = [17,68,22,9]
>>> list_2 = range(28,27)
>>> min(100,*list_1,*list_2) #new in python-3.5
9
>>> vals_t = (17,19,21)
>>> vals_l = [2,3,5,7]
>>> vals = *vals_l,31,37,*vals_t #new in python-3.5
>>> vals
(2, 3, 5, 7, 31, 37, 17, 19, 21)
>>> w
(50, 20, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
>>> dd
{'a': 0, 'b': 1, 'c': 2}
>>> l = [ i for i in (*w,*dd.values()) if i>17] #new in python-3.5
>>> l
[50, 20]
>>>