【Python】rangeよりはenumerateを使う

オライリーのEffective Pythonの備忘録です。
for文でのリストの反復処理で、現在の要素の添字を使うことがよくあります。

例えばこんな感じ。

flavor_list = ['hoge', 'huga', 'piyo', 'foo']
for i in range(len(flavor_list)):
    flavor = flavor_list[i]
    print('%d: %s' % (i + 1, flavor))

私も今までずっとこんなコードを書いていたのですが、enumerateを使えば以下のようにすっきり書けるとのこと。

for i, flavor in enumerate(flavor_list, 1):
    print('%d: %s' % (i, flavor))

感服しました。

今後は積極的にenumerateを使っていこうと思います。

コメント