2011-03-18 2 views
4

Самый чистый код, который выполняет итерации на линиях текстового файла, одновременно увеличивая счетчик?Каков самый простой способ перебора строк файла, поддерживающий счетчик?

Я понимаю, что с многократным назначением, есть уборщик синтаксис, чем

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

Примечание нет '' ++ в Python. –

+3

@Sven: Отвратительно то, что есть ... два унарных '+', которые ничего не делают, но синтаксически действительны. – 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 миль в час! – phooji

+0

Im из Великобритании;) –

9
for count, line in enumerate(f): 

Перечислите начинается с индексом 0, если не указано иным обеспечение счетчика итерированным в то же время, как каждый пункт из вашего цикла

EDIT: в качестве примечания стороны вы можете изменить, где перечисление начинается со второго аргумента, например for count, line in enumerate(f, 11) бы заставить его начать в 11

+0

+1 Слово на улице вы меня обогнали на 20 секунд. Это правда? :-p – phooji

+1

@phooji: Возможно, вас превзошли, но ваша цель была более верной - вы включили ссылку на документацию. –

+0

@ S.Lott: Спасибо, но я не думаю, что ссылка заняла у меня больше 20 секунд, чтобы найти;) – phooji

Смежные вопросы