python有一个高级特性就是迭代器,能够提供各种各样的迭代方式,而代码却非常的简单。itertools提供了非常丰富的有关于迭代操作的函数,下面一一介绍。
再次理解可迭代对象: 迭代器产生的可迭代对象不能直接使用,比如计算,需要用for循环迭代处具体的值后才能使用。
count()函数产生无限自然序列,由于是无限迭代,所以运行一次,产生一个加1的数。
from itertools import count
a = count(2) #迭代的起始参数
for i in a:
print(i)
运行了根本停不下来,只能手动结束,强行停止。
from itertools import cycle
a = cycle('abcde') #迭代的起始参数
for i in a:
print(i)
同样停不下来
from itertools import repeat
a = repeat('abcde',6) #迭代的起始参数
for i in a:
print(i)
重复的是传入的参数
from itertools import chain
a = chain('abcde','fghhhh')
print(a) #直接打印,只能显示迭代地址
for i in a:
print(i)
from itertools import groupby
a = groupby('abcdefghhhhdfadsdfsdeewef')
for key,value in a:
print(key,list(value))