Python 反復処理 #6 enumerate

株式会社リュディアです。今回は enumerate を使って反復処理中にイテラブルなオブジェクトのインデクスも同時に扱う方法についてまとめます。

前回までの反復処理のまとめへのリンクは以下を参考にしてください。

例えば for を使ってリストの内容を print 文で出力する際にリストのインデクスとともに出力することを考えます。以下の例を見てください。

l_fruits = ['Apple', 'Orange', 'Banana']
i = 0

for fruit in l_fruits:
   print(i, fruit)
   i = i + 1

>> 0 Apple
>> 1 Orange
>> 2 Banana

これはなかなか煩雑ですね。そこで enumerate を使うとシンプルに記述できます。

for i, fruit in enumerate(l_fruits):
   print(i, fruit)

>> 0 Apple
>> 1 Orange
>> 2 Banana

どうでしょうか?反復処理中にインデクスを参照することは多いので便利な機能だと思います。enumerate は意外に知らない方も多いので積極的に使ってみてください。

前の例ではインデクスの開始を 0 からとしましたが 1 から使いたい場合もあります。i を i + 1 にしてもよいのですが enumerate 関数の第2引数で初期値を設定できます。今回は初期値を 10 にしてみます。


for i, fruit in enumerate(l_fruits, 10):
   print(i, fruit)

>> 10 Apple
>> 11 Orange
>> 12 Banana

今回は反復処理中にイテラブルなオブジェクトのインデクスも同時に扱う方法として enumerate についてまとめました。

反復処理に関するまとめの続きは以下からどうぞ。

では、ごきげんよう。



この記事が気に入ったらサポートをしてみませんか?