pythonのfor文で要素とインデックスを同時に使う [python]
よく忘れてググることになる内容をメモ書き。
pythonのfor文では、rangeやxrangeを使うことが多い。
elist = ["hoge", "geho", "piyo"] for e in xrange(elist): print e
上記"e"には、
loop処理1回目ではeに"hoge"が、
loop処理2回目ではeに"geho"が、
loop処理3回目ではeに"piyo"が、
入り、for文が終了する。
このようなfor文を書いていて、たまにインデックスも同時に使いたくなるときがある。
これを安易に書くと、
elist = ["hoge", "geho", "piyo"] i = 0 for e in xrange(elist): print i, e i += 1
と書いてしまいがちだが、pythonにはenumrateというビルトイン関数がある。
これを使うと、
elist = ["hoge", "geho", "piyo"] for i, e in enumerate(elist): print i, e
と書くことができる。
ちなみに、同時に二つの配列をfor文で使いたいときなどは、zipを使うのも便利。
コメント 0