Pythonのアンパック(Unpacking)は、シーケンス(リストやタプルなど)やイテラブル(iterable)オブジェクトから要素を取り出して、それぞれの変数に代入する操作です。アンパックは一度に複数の変数への代入を行うことができます。
アンパックの基本
Pythonのアンパックは以下のように実施します。
for 変数1, 変数2, …….. in リストなど:
このようにして、リストなどの各要素をそれぞれ別の変数に格納することが可能です。
アンパックとzip関数
アンパックはzip関数と一緒に用いられることが多いといえます。zip()は名前からもイメージできるとおり、複数のリストをまとめることができる関数です。
list_x = ["apple", "orange", "banana", "peach", "grape"]
list_y = [120, 150, 80, 300, 800]
for x, y in zip(list_x, list_y):
print(f"{x}は1個{y}円です。")
このようにして複数のリストの要素を分割して取得可能です。
アンパックとenumerate関数
enumerate()関数もアンパックと同時によく用いられます。enumerate()はリストのインデックスと値を同時に取得できる関数です。
list_a = ["Tokyo", "Osaka", "Kobe", "Hakata", "Sapporo", "Nagoya"]
for i, a in enumerate(list_a):
print(f"list_aの{i}番目の都市は{a}です。")
このようにして、インデックスとデータをバラバラに取得することが可能です。
まとめ
アンパックは非常に便利な機能であるため、是非使いこなしてください。アンパックとよく併用する関数についても使い方をしっかりと覚えておくと、よりスムーズな実装が可能となるでしょう。.