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

Say*_*osh 20 python for-loop

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

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

And*_*ffe 32

zip一般来说,你需要结合两个迭代器,如@ S.Mark所说.但在这种情况下enumerate确实完全符合您的需要,这意味着您不必range直接使用:

for j, i in enumerate(x):
Run Code Online (Sandbox Code Playgroud)

请注意,这给出了x第一个索引,所以我反过来了j, i.


YOU*_*YOU 20

您可能想要使用zip

for i,j in zip(x,range(0,len(x))):
Run Code Online (Sandbox Code Playgroud)

例,

>>> 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
>>>
Run Code Online (Sandbox Code Playgroud)

注意:这个问题的正确答案enumerate与其他提到的一样,zip是一般选项,可以在一个循环中包含多个项目