タプルの活用とアンパック
('chocolate chip cookies', 15) のようなタプルがあり、その各要素にアクセスしたい場合は、リストと同じようにインデックスを使えます。さらに、type, count = ('chocolate chip cookies', 15) のようにタプルを複数の変数へ「アンパック」することもできます。これにより、type は 'chocolate chip cookies'、count は 15 に設定されます。
複数の配列型データを組み合わせたいことはよくあります。そこで役立つのが zip() 関数です。zip() に渡した各リストから 1 要素ずつ取り出し、タプルのリストとして返します。
リストをループするときに、自分がどの位置にいるかを追跡するには、enumerate() 関数を使います。この関数は、現在処理している要素のインデックスと、その要素自体を返します。
(最後のコード行については次のレッスンで詳しく説明します)
この演習はコースの一部です
Python のデータ型
演習の手順
zip()関数を使って、girl_namesとboy_namesを組み合わせ、pairsという変数に代入します。forループでpairsを走査し、位置を追跡するためにenumerate()を使います。結果をrankとpairにアンパックします。pairをgirl_nameとboy_nameにアンパックします。- 順に、順位、女の子の名前、男の子の名前を出力します。順位は
rankに入っています。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Pair up the girl and boy names: pairs
pairs = ____
# Iterate over pairs
for ____, ____ in ____:
# Unpack pair: girl_name, boy_name
____, ____ = ____
# Print the rank and names associated with each rank
print(f'Rank {rank+1}: {girl_name} and {boy_name}')