无限循环 序列:itertools.cycle
import itertools
cs = itertools.cycle('ABC') # 注意字符串也是序列的一种
for c in cs:
print(c)
运行结果:
A
B
C
A
B
C
:
:
无限循环 数字:itertools.count
#!/usr/bin/python
#-*- utf-8 -*-
import itertools
naturals = itertools.count(1)
for x in naturals:
print x
运行结果:
1 2 3 : :
有限循环1:itertools.repeat 通过参数进行设置
import itertools
ns = itertools.repeat('A', 3)
for n in ns:
print(n)
运行结果:
A
A
A
有限循环2:itertools.takewhile 通过判断进行限制
import itertools
natuals = itertools.count(1)
ns = itertools.takewhile(lambda x: x <= 10, natuals)
print (list(ns))
运行结果:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
有限循环3:itertools.chain 将两个参数连接起来循环一遍
import itertools
for c in itertools.chain('ABC', 'XYZ'):
print(c)
运行结果:
A
B
C
X
Y
Z
有限迭代4:itertools.groupby 将邻近重复的分组
import itertools
for key, group in itertools.groupby('AAABBBdCCAAAd'):
print(key, list(group))
运行结果:
A ['A', 'A', 'A']
B ['B', 'B', 'B']
d ['d']
C ['C', 'C']
A ['A', 'A', 'A']
d ['d']
忽略大小写
import itertools
for key, group in itertools.groupby('AaaBBbcCAAa', lambda c: c.upper()):
print(key, list(group))
运行结果:
A ['A', 'a', 'a']
B ['B', 'B', 'b']
C ['c', 'C']
A ['A', 'A', 'a']
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。