Множественное присваивание в Python

Известно, что в Python можно присваивать так:

>>> a, b, c = "hi", 1, [3,2]
>>> a
'hi'
>>> b
1
>>> c
[3, 2]

Это пример множественного присваивания. Однако это еще не все. В Python 3 переменных может быть меньше, чем значений. При этом перед какой-то переменной должен стоять знак *. С ней будут связаны все оставшиеся значения, сгруппированные в список:

>>> a, b, *c = "hi", 1, [3,2], 9, 8
>>> c
[[3, 2], 9, 8]

Причем не важно, какая переменная будет "забирать" остаток:

>>> *a, b, c = "hi", 1, [3,2], 9, 8
>>> a
['hi', 1, [3, 2]]
>>> a, *b, c = "hi", 1, [3,2], 9, 8
>>> b
[1, [3, 2], 9]

 

Создано