所以我有一个字符串source
,我用它来循环迭代器:
iterator = iter(source)
for char in iterator:
do stuff
但是,现在说我在do stuff
进行了检查,在那里我将迭代器的值与' h'进行比较。然后我想看看' h'然后以某种方式跟随" ello"并将之后的前十个字符添加到列表中。
为此,我自己的想法是找出哪个索引与迭代器的当前位置相对应,以便我可以说:
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
这意味着对于给定的输入hello Sandra, oh and hello Oscar, i welcome you both!
,someList
将包含[" Sandra,哦"," Oscar,我w"]。
我能以某种方式找出迭代器当前位置对应的索引吗?
答案 0 :(得分:6)
迭代器不会公开索引,因为它不必是序列的基础索引。
使用enumerate()
函数在迭代中添加一个:
for index, char in enumerate(iterator):
现在迭代产生(index, value)
个元组,你可以使用元组赋值将它们分配给两个独立的变量。