有没有办法访问Python for循环中的迭代计数器?
我通常使用自己的变量,并在任何循环中增加它。有没有更像蟒蛇的方式?
使用enumerate
:
sequence = [1, 45, 65, 7]
for i, val in enumerate(sequence):
print i, val
输出:
0 1
1 45
2 65
3 7
您不仅可以使用enumerate
内置,而且它还有一个鲜为人知的可选第二个参数,即起始值:
f = open(...)
for linenumber, line in enumerate(f, 1):
# etc.
通过这种方式,您可以给元素一个更自然的编号,而不是第一个元素为零,然后在某个地方加1。