单个for循环中的多个计数器:Python

时间:2010-04-20 06:12:49

标签: python for-loop

在C / C ++中,是否可以在单个for循环中运行多个计数器?

我想要类似的东西 - for i,j in x,range(0,len(x)):我知道Python解释的方式不同以及为什么,但我如何在单个for循环中同时运行两个循环计数器?

3 个答案:

答案 0 :(得分:30)

你想要zip,它结合了两个迭代器,正如@ S.Mark所说。但在这种情况下enumerate完全符合您的需要,这意味着您不必直接使用range

for j, i in enumerate(x):

请注意,这首先给出了x的索引,因此我推翻了j, i

答案 1 :(得分:19)

您可能想要使用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是在一个循环中包含多个项目的一般选项

答案 2 :(得分:5)

for i,j in enumerate(x)