SSブログ

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を使うのも便利。


Python入門―2&3対応

Python入門―2&3対応

  • 作者: 細田 謙二
  • 出版社/メーカー: 秀和システム
  • 発売日: 2010/06
  • メディア: 単行本








人気ブログランキングへ
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。