首先介绍一下itertools
— Functions creating iterators for efficient looping(函数创建迭代器以实现高效循环)
功能:
创建一个迭代器,从迭代中返回所选元素。
语法:
itertools.islice(iterable, stop)
itertools.islice(iterable, start, stop[, step])
iterable
:可迭代对象,比如string
,list
,tuple
……start
:开始位置stop
:结束位置step
:步长
解析:
创建一个迭代器,从迭代中返回所选元素。 如果start
为非零,则跳过iterable
中的元素,直到达到start
。 之后,连续返回元素,除非将step
设置为高于导致跳过项目的步骤。 如果stop
为None
,则迭代继续,直到迭代器耗尽,如果有的话;否则,它停在指定位置。 与常规切片不同,islice()
不支持start
,stop
或step
的负值。 可用于从内部结构已展平的数据中提取相关字段(例如,多行报表可在每第三行列出名称字段)。
实例:
实例1:
# islice('ABCDEFG', 2) --> A B
# islice('ABCDEFG', 2, 4) --> C D
# islice('ABCDEFG', 2, None) --> C D E F G
# islice('ABCDEFG', 0, None, 2) --> A C E G