1.itertools
Python的内建模块,
提供了非常有用的用于操作迭代对象的函数。并且itertools相当高效且节省内存。
2.itertools模块中的方法
count(初值=0, 步长=1)
count 迭代器会返回从传入的起始参数开始的均匀间隔的数值。count 也可以接收指定的步长参数。
from itertools import count for i in count(10): #从10开始无限循环,默认步长等于1 if i > 20: break else: print(i)
islice()
返回一个迭代器,该迭代器的next()方法从可迭代的如果指定start,则跳过前面的所有元素;否则,start默认值为零。
Step默认为1。如果step指定为另一个值,确定有多少个值在连续调用之间跳过。
工作方式类似于列表中的slice(),但是返回一个迭代器。
from itertools import islice,count #方式一:islice(迭代对象, 迭代数量) for i in islice(count(10), 5): print(i) for i in islice('abcdefghigk', 5): print(i) #方式二:islice(迭代对象, 开始索引,结束索引,步长) #步长不写默认为1 s=islice('abcdefghigk',1,4,2) a=list(s) print(a)
cycle()
从可迭代对象中返回元素,直到它被耗尽。然后无限地重复这个序列。