Несколько счетчиков в одном для цикла: Python

Возможно ли в Python запустить несколько счетчиков в одном цикле для цикла, как в C/С++?

Я хотел бы что-то вроде - for i,j in x,range(0,len(x)): Я знаю, что Python интерпретирует это по-другому и почему, но как бы я мог запускать два счетчика циклов одновременно в одном цикле for?

Ответы

Ответ 1

Вы хотите zip в целом, который объединяет два итератора, как говорит @S.Mark. Но в этом случае enumerate делает именно то, что вам нужно, а это означает, что вам не нужно напрямую использовать range:

for j, i in enumerate(x):

Обратите внимание, что это сначала дает индекс x, поэтому я изменил значение j, i.

Ответ 2

Возможно, вы захотите использовать zip

for i,j in zip(x,range(0,len(x))):

Пример

>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> print zipped
[(1, 4), (2, 5), (3, 6)]
>>> for a,b in zipped:
...     print a,b
...
1 4
2 5
3 6
>>>

Примечание. Правильный ответ для этого вопроса enumerate, как и другие упомянутые, zip - это общая опция, чтобы иметь несколько элементов в одном цикле

Ответ 3

for i,j in enumerate(x)