Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要在python中获取迭代器的其余部分_Python_Iterator - Fatal编程技术网

需要在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异常。