在一个for循环中使用多个计数器:Python
在Python中,能不能像C/C++那样在一个for循环里同时使用多个计数器呢?
我想要的效果是这样的——for i,j in x,range(0,len(x)):
我知道Python会以不同的方式来理解这个,但我想知道怎么在一个for循环里同时运行两个计数器?
3 个回答
6
在编程中,有时候我们需要处理一些数据,比如从一个地方获取数据,然后在程序里使用这些数据。这个过程可能会涉及到很多步骤,比如读取文件、处理数据、然后输出结果。
有些时候,程序可能会因为一些错误而崩溃,比如文件找不到、数据格式不对等等。为了避免这些问题,我们可以使用一些方法来检查和处理这些错误,这样程序就不会因为小问题而停止运行。
总之,编程就像是在做一个复杂的拼图,我们需要小心翼翼地把每一块拼好,确保最后的结果是正确的。
for i,j in enumerate(x)
24
你可能想用一下 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 是一个通用的选项,可以在一个循环中处理多个项目。
36
你想要的是 zip
,它可以把两个迭代器合并在一起,正如 @S.Mark 所说的那样。不过在这种情况下,enumerate
正好满足你的需求,这意味着你不需要直接使用 range
。
for j, i in enumerate(x):
注意,这里先给出了 x
的索引,所以我把 j, i
的顺序调换了。