27.enumerate関数

さてfor文で繰り返しの書き方をやりましたが、覚えていますか
for文の書き方のおさらいです。

for文ではrange関数などを使って繰り返しの回数を指定していました。

In [1]:
for i in range(5):
    print(i)
0
1
2
3
4

このようにするとrange関数には0から4までの数値が生成され、
for文としては5回処理が繰り返されます。

enumerate関数はこのfor文の処理に
回数を数える変数を付け足すことができます。

In [2]:
# 5から9までの整数を生成して繰り返し処理する。
for i , j in enumerate(range(5,10)):
    print(i , j)
0 5
1 6
2 7
3 8
4 9

どんな時に使うかというと
処理が行われた回数を数えて、
回数で処理を抜けるような場合に
用いる事ができる。

In [3]:
count = 0
for i in range(5):
    print(i)
    if i>=3:
        break
    count+=1
0
1
2
3
In [4]:
for i , j in enumerate(range(5)):
    print(i,j)
    if i>=3:
        break
0 0
1 1
2 2
3 3

無駄な変数への代入などを省いて、コードを簡略化でき
バグを少なくすることができるのがこの関数の利点です。

for文などで繰り返しの回数をカウントしたり、値として
用いたりするのに役立つ関数になっているので
繰り返しの処理を書く際には便利な関数です。