アンパック代入
リストやタプルのように1列に並んだ要素集合の一括代入のことをアンパック代入という。
カンマで区切って並べられたデータ列はひとつのタプル型のオブジェクトを構成する。
code:unpack1.py
print('# その1')
data1 = 1, 2 # こんな代入を行うとタプルが生成される
print('x:', data1, type(data1))
タプルを保持する変数data1を、他の変数に代入する。
code:(続き).py
a = data1 # これだとaにはタプルが代入される、アンパックではない
x, y = data1 # タプルを展開し左辺の変数にそれぞれ代入する、これがアンパック代入
print('a:', a, type(a))
print('x:', x, type(x), 'y:', y, type(y))
このように、オブジェクトが保持する複数の要素を展開して一括代入を行うことをアンパック代入という。
リストからのアンパック代入。
code:(続き).py
print('# その2')
data2 = 'Taro', 165.2, 22 # リストを代入
name, height, age = data2 # リスト要素をアンパック
print(name)
print(height)
print(age)
入れ子になったリストからのアンパック代入。
code:(続き).py
print('# その3')
data3 = data1, data2 # リストを代入
data, person = data3 # リストの要素をアンパック
print(data)
print(person)
便利な使い方
アンパック代入を用いることで、次のような一括代入が可能である。
code:(続き).py
x, y, z = 2, 3.14, 'moji'
print(x, y ,z)
https://scrapbox.io/files/65041e0f2d305d001b48c55c.png