python的切片[:]操作可以作用于list ,tuple ,str等,但是不能作用在迭代器上。
如果要对迭代器对象进行切片操作,可以使用itertools的islice函数。
from itertools import islice
l=[x for x in range(5)] #可迭代对象l
l2=iter(l) #调用可迭代对象的iter()方法,生成迭代器l2
l3=islice(l2,2,4) #利用islice函数对迭代器l2进行切片
for x in l3:
print(x)
print(l3)