始める無料で始める

タプルの活用とアンパック

('chocolate chip cookies', 15) のようなタプルがあり、その各要素にアクセスしたい場合は、リストと同じようにインデックスを使えます。さらに、type, count = ('chocolate chip cookies', 15) のようにタプルを複数の変数へ「アンパック」することもできます。これにより、type'chocolate chip cookies'count15 に設定されます。

複数の配列型データを組み合わせたいことはよくあります。そこで役立つのが zip() 関数です。zip() に渡した各リストから 1 要素ずつ取り出し、タプルのリストとして返します。

リストをループするときに、自分がどの位置にいるかを追跡するには、enumerate() 関数を使います。この関数は、現在処理している要素のインデックスと、その要素自体を返します。 (最後のコード行については次のレッスンで詳しく説明します)

この演習はコースの一部です

Python のデータ型

コースを見る

演習の手順

  • zip() 関数を使って、girl_namesboy_names を組み合わせ、pairs という変数に代入します。
  • for ループで pairs を走査し、位置を追跡するために enumerate() を使います。結果を rankpair にアンパックします。
  • pairgirl_nameboy_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}')
コードを編集して実行