需要在python中获取迭代器的其余部分
假设我有一个迭代器。需要在python中获取迭代器的其余部分,python,iterator,Python,Iterator,假设我有一个迭代器。 在对迭代器的几个项进行迭代之后,我必须去掉这些前几个项,并返回一个迭代器(最好是相同的)和其余的项。我该怎么办? 此外,迭代器是否支持删除或弹出操作(如列表)?是的,只需使用iter.next() 范例 iter = xrange(3).__iter__() iter.next() # this pops 0 for i in iter: print i 1 2 可以使用.next()从迭代器的前端弹出。您不能执行任何其他奇特的操作。该函数也可能有帮助: dro
在对迭代器的几个项进行迭代之后,我必须去掉这些前几个项,并返回一个迭代器(最好是相同的)和其余的项。我该怎么办? 此外,迭代器是否支持删除或弹出操作(如列表)?是的,只需使用iter.next() 范例
iter = xrange(3).__iter__()
iter.next() # this pops 0
for i in iter:
print i
1
2
可以使用.next()从迭代器的前端弹出。您不能执行任何其他奇特的操作。该函数也可能有帮助:
dropwhile(lambda x: x<5, xrange(10))
dropwhile(lambda x:x)在Python 2.6及更高版本中,推荐的“官方”方法是next(iter),而不是iter.next()[在2.6中继续工作,但在3.*]中不工作]。使用next(x),可以提供默认值作为第二个参数,以避免在迭代器耗尽时出现StopIteration异常。