迭代器切片操作

Posted jeffrey-yang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迭代器切片操作相关的知识,希望对你有一定的参考价值。

迭代器对象一般来说是不支持像可迭代对象(list,tuple等)的切片操作。
如下示例:

def count(n):
   while True:
       yield n
       n += 1

c = count(0)
c[10:20]
Trackback(most recent call last):
   File "<stdin>", line 1, in <module>
TypeError: 'generator' object is not subscriptable

itertools模块提供了对迭代器对象的切片操作支持,itertools提供了模块级函数islice。

import itertools
for x in itertools.islice(c, 10, 20):
    print(x)
...
10
11
12
13
14
15
16
17
18
19

以上是关于迭代器切片操作的主要内容,如果未能解决你的问题,请参考以下文章

还有这种操作?异步迭代器的切片操作!!!

如何对迭代器做切片操作?

Python3 高级特性

Python进阶:迭代器与迭代器切片

迭代器

对迭代器进行切片