如果我们有以下代码:
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/