函数 itertools.islice()
正好适用于在迭代器和生成器上做切片操作。 这里要着重强调的一点是 islice()
会消耗掉传入的迭代器中的数据。 必须考虑到迭代器是不可逆的这个事实。
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
原文地址:http://xiaofengfeng.blog.51cto.com/8193303/1885784