Python的内置模块itertools

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() 

从可迭代对象中返回元素,直到它被耗尽。然后无限地重复这个序列。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

上一篇:Itertools.count Python


下一篇:python – itertools.groupby()没有正确分组