How to get the index of the the current iterator item in a loop?
本问题已经有最佳答案,请猛点这里访问。
如何获取循环中python迭代器当前项的索引?
例如,当使用返回迭代器的正则表达式
1 2 | for item in re.finditer(pattern, text): # How to obtain the index of the"item" |
迭代器没有被设计成被索引的(请记住,它们是懒洋洋地生成它们的项)。
相反,您可以使用
1 | for index, match in enumerate(it): |
下面是一个演示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | >>> it = (x for x in range(10, 20)) >>> for index, item in enumerate(it): ... print(index, item) ... 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 >>> |
请注意,您还可以指定一个开始计数的数字:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | >>> it = (x for x in range(10, 20)) >>> for index, item in enumerate(it, 1): # Start counting at 1 instead of 0 ... print(index, item) ... 1 10 2 11 3 12 4 13 5 14 6 15 7 16 8 17 9 18 10 19 >>> |