有没有办法在Python for循环中访问迭代计数器?
我通常使用自己的变量并在任何循环中增加它。有更多的pythonic方式吗?
答案 0 :(得分:17)
使用enumerate
:
sequence = [1, 45, 65, 7]
for i, val in enumerate(sequence):
print i, val
输出:
0 1
1 45
2 65
3 7
答案 1 :(得分:3)
你不仅可以使用enumerate
内置函数,而且还有一个鲜为人知的可选第二个参数,即从以下开始的值:
f = open(...)
for linenumber, line in enumerate(f, 1):
# etc.
通过这种方式,您可以为元素提供更自然的编号,而不是为第一个元素获取零,并且必须在某个位置添加1。