如何在python中对迭代器调用__next__ n次

时间:2016-04-26 05:24:10

标签: python iterator

如果我们有以下代码:

s = "stackoverflow"
si = iter(s)
si.__next__() # Would return s
si.__next__() # Would return t
si.__next__() # Would return a

有没有使用循环的方法我只需调用"a"即可获得__next__()。所以我基本上想要调用__next__()三次并获得第三个值。 (注意必须使用迭代器,我不能只使用切片)

谢谢

1 个答案:

答案 0 :(得分:5)

您可以使用itertools.islice

>>> from itertools import islice
>>> si = iter(s)
>>> next(islice(si, 2, 3))
'a'