2011-03-18 8 views
4

テキストファイルの行を繰り返し処理する最もクリーンなコードは何ですか?同時に、カウンタを増やしますか?ファイルの行を反復処理してカウンタを保持する最も簡単な方法は何ですか?

私は複数の割り当てで、特に断りがない限り

i = 0 
for line in f: 
    ... 
    ++i 
+5

ノートには、 '' ++、Pythonではありません。 –

+3

@Sven:厄介なことは、何もしない2つの単項 '+'があることですが、構文的には有効です。 – delnan

+0

@delnan - argggh! – ripper234

答えて

12
for i, line in enumerate(f): 
    print i, line 

で起動させるような:http://docs.python.org/library/functions.html#enumerate

+0

+1私はあなたを愛し、今夜は良いですから。 –

+1

@Jacob Bowyer:午後は午後です。あなたは未来からですか?それは、あなたの投稿が最初にどのようになったのかを説明するでしょう:あなたは88 MPHで投稿していました! – phooji

+0

イギリスからのIm;) –

9
for count, line in enumerate(f): 

列挙は、あなたのループ

のための各項目と同時に反復カウンタを提供するインデックス0から始まり、よりクリーンな構文があることを理解します

EDIT:列挙が2番目の引数から始まるところを変更することができます。 for count, line in enumerate(f, 11)は、ここに見られるように、それは11

+0

+1通りの言葉は、あなたが20秒ほど私を外に引き出していますか?これは本当ですか? :-p – phooji

+1

@phooji:あなたは引き抜かれていたかもしれませんが、あなたの目標はより真実でした。ドキュメンテーションへのリンクが含まれていました。 –

+0

@ S.Lott:ありがとうございますが、私はリンクが20秒以上見つけたとは思っていません;) – phooji