Есть ли способ получить доступ к счетчику итераций в цикле for Python - PullRequest
3 голосов
/ 27 января 2012

Есть ли способ доступа к счетчику итераций в цикле for Python?

Я обычно использую свою собственную переменную и увеличиваю ее в любом цикле.Есть ли более питонический путь?

Ответы [ 2 ]

17 голосов
/ 27 января 2012

Использование enumerate:

sequence = [1, 45, 65, 7]
for i, val in enumerate(sequence):
    print i, val

Вывод:

0 1
1 45
2 65
3 7
3 голосов
/ 27 января 2012

Мало того, что вы можете использовать встроенный enumerate, но у него есть малоизвестный необязательный второй параметр, значение которого начинается с:

f = open(...)
for linenumber, line in enumerate(f, 1):
    # etc.

Таким образом, вы можете сделать ваши элементы более естественными.нумерация, вместо получения нуля для первого элемента и необходимости добавлять 1 где-то.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...