用法:
itertools.islice(iterable, stop)
itertools.islice(iterable, start, stop[, step])
創建一個從可迭代對象中返回選定元素的迭代器。如果
start
不為零,則跳過可迭代的元素,直到到達開始。之後,元素將連續返回,除非step
設置為高於 1,從而導致項目被跳過。如果stop
是None
,則迭代繼續進行,直到迭代器耗盡(如果有的話);否則,它會停在指定位置。與常規切片不同,islice()
不支持start
、stop
或step
的負值。可用於從內部結構已展平的數據中提取相關字段(例如,multi-line 報告可能每三行列出一個名稱字段)。大致相當於:def islice(iterable, *args): # 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 s = slice(*args) start, stop, step = s.start or 0, s.stop or sys.maxsize, s.step or 1 it = iter(range(start, stop, step)) try: nexti = next(it) except StopIteration: # Consume *iterable* up to the *start* position. for i, element in zip(range(start), iterable): pass return try: for i, element in enumerate(iterable): if i == nexti: yield element nexti = next(it) except StopIteration: # Consume to *stop*. for i, element in zip(range(i + 1, stop), iterable): pass
如果
start
是None
,則迭代從零開始。如果step
是None
,則步驟默認為一。
相關用法
- Python itertools.takewhile用法及代碼示例
- Python itertools.compress用法及代碼示例
- Python itertools.dropwhile用法及代碼示例
- Python itertools.repeat用法及代碼示例
- Python itertools.combinations_with_replacement用法及代碼示例
- Python itertools.groupby()用法及代碼示例
- Python itertools.repeat()用法及代碼示例
- Python itertools.count用法及代碼示例
- Python itertools.starmap用法及代碼示例
- Python itertools.filterfalse用法及代碼示例
- Python itertools.chain.from_iterable用法及代碼示例
- Python itertools.groupby用法及代碼示例
- Python itertools.zip_longest用法及代碼示例
- Python itertools.accumulate用法及代碼示例
- Python itertools.tee用法及代碼示例
- Python itertools.combinations用法及代碼示例
- Python itertools.permutations用法及代碼示例
- Python itertools.product用法及代碼示例
- Python itertools.chain用法及代碼示例
- Python itertools.cycle用法及代碼示例
注:本文由純淨天空篩選整理自python.org大神的英文原創作品 itertools.islice。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。