如果我们有以下代码:

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

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

谢谢

最佳答案

您可以使用 itertools.islice :

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

关于python - 如何在python中对迭代器调用__next__n次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36855889/

10-13 01:18