关于python:如何查看迭代器的索引?

How can I see at which index my iterator is?

本问题已经有最佳答案,请猛点这里访问。

所以我有一个字符串source过其中一环,一个迭代器。

1
2
3
iterator = iter(source)
for char in iterator:
  do stuff

然而,现在我要说,我do stuffa检查,比较的价值的一个"H"的迭代器。我想看看他们的"H"是由"这",在一些的方式,和添加的第一个列表的人物。这之后。这是我自己的想法,找出它与流对应的索引位置的迭代器,这样我可以说:

1
2
3
4
5
indIt = index(char)
if source[indIt + 1: indIt + 6] =="ello":
  someList.append(source[indIt + 7:indIt + 16])
  indIt += 17
  char = indIt #which may also be fun to know how it can be done, if

这将意味着在给定的输入将包含"someList[ hello Sandra, oh and hello Oscar, i welcome you both!,桑德拉哦,"奥斯卡"W"]。

这样我可以在一些指标的方式,找出当前的位置是在对应的迭代器?


迭代器不公开索引,因为不必在索引的基础上有序列。

使用enumerate()函数向迭代中添加一个:

1
for index, char in enumerate(iterator):

现在迭代生成(index, value)元组,您可以使用元组赋值将其分配给两个单独的变量。