如何在Python中获取迭代器的其余部分

3 投票
2 回答
1428 浏览
提问于 2025-04-15 13:20

假设我有一个迭代器。
在遍历了迭代器中的几个项目后,我需要把这几个项目去掉,然后返回一个包含剩下项目的迭代器(最好是同一个)。我该怎么做呢?另外,迭代器支持像列表那样的删除或弹出操作吗?

2 个回答

7

itertools.dropwhile() 函数可能也会很有用:

dropwhile(lambda x: x<5, xrange(10))
7

没错,你只需要用 iter.next() 就可以了。

举个例子:

iter = xrange(3).__iter__()

iter.next() # this pops 0

for i in iter:
  print i

1
2

你可以用 .next() 从迭代器的前面取出一个元素。其他复杂的操作是不能做的。

撰写回答