Pythonのfor文はリスト型や辞書型をループ毎に受け取って処理します。その際にindexも一緒に受け取りたい、と思う人も多いかと思います。そんな時にはenumerate関数が便利です。
enumerate関数とは
enumerate関数は、for文のループ処理でリスト型や辞書型の要素とindexを同時に取得したい場合に使います。enumerate関数はこのように引数にindexを取得したいリストを指定します。
enumerate(リストオブジェクト)
enumerate関数の使い方
enumerate関数はfor文と一緒によく使われます。以下のサンプルコードをご覧ください。
X = range(10, 20)
for i,v in enumerate(X):
print(i,v)
このコードで、Xは10から19までの要素を生成するオブジェクトを持つ変数になります。for文で使われているenumerate関数は、与えられたシーケンスやイテレータのindexと値を一緒に返してくれる機能があります。そしてこの関数は (index, value)の組み合わせを、呼び出される度に順々に返してくれます。
また、enumerate関数はもちろんrange関数だけでなく、リストや辞書のような型のシーケンスを同じように扱うことが出来ます。
リストの内容を取得する
ここではリストの内容をenumerate関数で一度に取得する方法を見てみましょう。以下のコードをご覧ください。
numbers = [1, 2, 3, 4, 5]
for i in enumerate(numbers):
print(i)
このようにenumerateでリストを指定すると、indexと値が取得することができます。indexと値を個別に取得したい場合は、このように指定します。
fruits = ['apple', 'orange', 'banana']
for i, j in enumerate(fruits):
print(i, j)
以上がPythonのfor文とenumerate関数の基本的な使い方になります。これらの機能を理解し、効率的なコードを書くことができるようになりましょう。.