首页 > 代码库 > 迭代器

迭代器

1.迭代器切片

函数 itertools.islice() 正好适用于在迭代器和生成器上做切片操作。 这里要着重强调的一点是 islice() 会消耗掉传入的迭代器中的数据。 必须考虑到迭代器是不可逆的这个事实。

2.跳过可迭代对象的开始部分

itertools 模块中有一些函数可以完成这个任务。 首先介绍的是 itertools.dropwhile() 函数。使用时,你给它传递一个函数对象和一个可迭代对象。 它会返回一个迭代器对象,丢弃原有序列中直到函数返回True之前的所有元素,然后返回后面所有元素。 如果你已经明确知道了要跳过的元素的个数的话,那么可以使用 itertools.islice() 来代替。

>>> from itertools import islice>>> items = [‘a‘, ‘b‘, ‘c‘, 1, 4, 10, 15]>>> for x in islice(items, 3, None):...     print(x)


本文出自 “机制小风风” 博客,请务必保留此出处http://xiaofengfeng.blog.51cto.com/8193303/1885784

迭代器