微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在循环中获取当前迭代器项的索引?

如何解决如何在循环中获取当前迭代器项的索引?

迭代器的设计目的不是要建立索引(请记住,它们会延迟生成项目)。

相反,您可以使用enumerate它们为生产的物料编号:

for index, match in enumerate(it):

下面是一个演示:

>>> 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
>>>

请注意,您还可以指定一个数字以从以下位置开始计数:

>>> 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
>>>

解决方法

例如,当使用finditer返回迭代器的正则表达式函数时,如何在循环中访问迭代器的索引。

for item in re.finditer(pattern,text):
    # How to obtain the index of the "item"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。