如何在Python中获取迭代器的其余部分
假设我有一个迭代器。
在遍历了迭代器中的几个项目后,我需要把这几个项目去掉,然后返回一个包含剩下项目的迭代器(最好是同一个)。我该怎么做呢?另外,迭代器支持像列表那样的删除或弹出操作吗?
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() 从迭代器的前面取出一个元素。其他复杂的操作是不能做的。