Python enumerate関数

enumerate関数の使い方について説明します。enumerate関数は要素とインデックスを取得できる関数です。主にfor文で使われます。


書き方

for文のイテラブルオブジェクトを指定する所にenumerateを使用し、引数にリスト・タプルなどのイテラブルオブジェクトを設定すると、インデックスと要素を取得することができます。

for インデックスの変数, 要素の変数 in  enumerate(イテラブルオブジェクト):
    処理

実例

x_list = ['x_0', 'x_1', 'x_2']

for i, x in enumerate(x_list):
    print(i, x)

>> 0 x_0
>> 1 x_1
>> 2 x_2

0 以外からのカウント

インデックスは通常 0 からカウントされますが、enumerate関数の第二引数にスタートの数値を指定することもできます。

x_list = ['x_0', 'x_1', 'x_2']

for i, x in enumerate(x_list, 10):
    print(i, x)

>> 10 x_0
>> 11 x_1
>> 12 x_2


メリット

enumerateを使わないと、「for文の前に i=0, forの最後にでi+=1」と書く必要がありますが、enumerateを使えばそれよりも簡素にコードを書くことができます。


関連記事