enumerate

シーケンスのループでインデックスを使用するには以下のようにする。

>>> seq = ('a', 'b', 'c')
>>> for idx, val in enumerate(seq):
...     print idx, val
...
0 a
1 b
2 c

enumerate(seq)の代わりに、range(len(seq))を使用しても良いのだが、enumerate()が導入された目的は、まさにこれを実現したいからだと思われる。マニュアルを読むと、2.3から追加されたらしいが結構遅めな感じもする。