Pythonのリスト(Python)は、以下のようにアンパック代入できます。
values = [4, 5, 6]
x, y, z = values
このとき、xに4、yに5、zに6が代入されます。
変数(Python)の数がリスト(Python)の要素数より少ない場合、アスタリスク(*)を使用して、複数の要素を一つの変数(Python)に収めることができます。
first, *middle, last = [1, 2, 3, 4, 5]
このとき、firstに1、middleに[2, 3, 4]、lastに5が代入されます。
以下のアンパック代入を行うことでfirstに1、lastに5が代入されます。
first, _, _, _, last = [1, 2, 3, 4, 5]
ここで、_は変数(Python)であり、2, 3, 4の順番で_に代入され、最後の4が保持されます。
このとき、一部の要素を捨てる用にアンダースコア(_)を使っているのは慣習であり、別の変数名でも構いません。
入れ子のリスト(Python)は、以下のようにアンパック代入できます。
nested_list = [1, [2, [3, 4]], 5]
a, (b, (c, d)), e = nested_list