[Python]enumerate()関数を使用したインデックス付きのループ

Pythonのenumerate()関数は、コレクション(リストや文字列など)の各アイテムを順に取り出す際に、そのアイテムのインデックス(位置)も同時に取得するためのツールです。

enumerate()関数の基本

enumerate()関数を使用したforループの基本的な形式は以下のようになります。

for i, アイテム in enumerate(コレクション):
    # アイテムとそのインデックスiを使ったコード

ここでのコレクションは、ループで処理したい一連のアイテム(例えば、リストや文字列など)を指します。アイテムは、そのコレクションの各アイテムを参照するための変数名で、iアイテムのインデックス(位置)を参照するための変数名です。

enumerate()関数の例

以下に、enumerate()関数を使用したforループの具体的な例を示します。

fruits = ["apple", "banana", "cherry"]

for i, fruit in enumerate(fruits):
    print("Fruit", i+1, "is", fruit)

このコードは、fruitsというリストの各アイテム(ここでは各フルーツ)とそのインデックスを順に取り出し、「Fruit インデックス+1 is フルーツ名」と表示します。つまり、このコードを実行すると以下の出力が得られます。

Fruit 1 is apple
Fruit 2 is banana
Fruit 3 is cherry

このように、enumerate()関数は、リストや文字列のような順序付きのコレクションを扱う際に特に有用です。それぞれのアイテムが何番目であるか(インデックスが何であるか)を知りたいとき、またはそのインデックスに基づいて何らかの処理を行いたいときに使います。

注意点

Pythonのインデックスは0から始まるので、Fruitの番号を人間が自然に理解する1から始めるために、インデックスに1を足しています。