#タプルをアンパッキング
アンパッキングはタプルの各要素を、複数の変数に代入することである。以下の例では2つの要素を2つの変数に対して代入している。
menu="pizza","coffee"
main,drink=menu
print(main)
print(drink)
実行結果
pizza
coffee
for文を使ってタプルのアンパッキングを行う。
itemsメソッドは辞書のキーと値の対をタプルで返す。このためmenu_itemにはタプルが代入されている。
以下の例はx,yのそれぞれにキーと値をアンパッキングしている。
menu=dict(main="pizza",drink="coffee")
menu_item=menu.items()
for x,y in menu_item:
print(x,y)
実行結果
main pizza
drink coffee
#入れ子になったタプルをアンパッキング
enumerate関数はループのカウントと要素をタプルで返す。以下の例ではenumerate関数の中に、辞書のキーと値をタプルで返すitemsメソッドが入っているため入れ子のタプルをアンパッキングすることになる。この場合は、入れ子のタプルの形式にあわせて、for文の変数にかっこをつける必要がある。(以下の例ではx,yをかっこの中に入れている。)
menu=dict(main="pizza",drink="coffee")
for i,(x,y) in enumerate(menu.items(),1):
print(i,x,y)
実行結果
1 main pizza
2 drink coffee