2011-03-18 41 views
4

在文本文件的行上迭代的最乾淨的代碼是什麼,同時又增加了一個計數器?什麼是迭代文件的最簡單的方法,保持一個計數器?

據我所知,有多種佈局,有一個更清晰的語法比

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

注有''++ Python中沒有。 – 2011-03-18 21:25:01

+3

@Sven:令人討厭的是,有兩個一元'+'不做任何事情,但它在語法上是有效的。 – delnan 2011-03-18 21:26:42

+0

@delnan - argggh! – ripper234 2011-03-19 08:42:42

回答

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

開始爲在這裏看到:http://docs.python.org/library/functions.html#enumerate

+0

+1,因爲我愛你,今晚很好。 – 2011-03-18 22:07:26

+1

@Jacob Bowyer:這裏只有下午 - 你是來自未來嗎?這將解釋你的帖子是如何發佈的:你的發佈時間是88英里/小時! – phooji 2011-03-18 22:14:14

+0

Im來自英國;) – 2011-03-19 09:05:13

9
for count, line in enumerate(f): 

枚舉在指數0開始,除非特別指出,提供在同一時間重複爲您的每個項目的循環

計數器

編輯:作爲一個附註,你可以改變枚舉從第二個參數開始,例如 for count, line in enumerate(f, 11)會導致它在11

+0

+1在街道上的單詞是你在20秒內將我抽出來了。這是真的? :- – phooji 2011-03-18 21:29:55

+1

@ phooji:你可能已經被撤出了,但你的目標更加真實 - 你包含了一個文檔鏈接。 – 2011-03-18 21:33:56

+0

@ S.Lott:謝謝,但是我不認爲那個鏈接花了我20多秒才找到;) – phooji 2011-03-18 21:36:41

相關問題