说我有一个迭代器.
迭代迭代器的几个项后,我将不得不摆脱这些前几个项并返回一个迭代器(最好是相同的)与其余的项.我该怎么办?此外,Do迭代器是否支持删除或弹出操作(如列表)?
是的,只需使用iter.next()
例
iter = xrange(3).__iter__()
iter.next() # this pops 0
for i in iter:
print i
1
2
Run Code Online (Sandbox Code Playgroud)
您可以使用.next()弹出迭代器的前面.你不能做任何其他奇特的操作.
小智 7
该itertools.dropwhile()功能也可能有用:
dropwhile(lambda x: x<5, xrange(10))
Run Code Online (Sandbox Code Playgroud)