介绍
今天介绍一个很强大的模块,而且是python自带的,那就是itertools迭代器模块。
使用
使用起来很简单,先导入模块
import itertools
下面,我们通过一些例子边学边练
三个无限迭代器
先告诉大家 control + C 可以强制停止程序哦
1.count()
num = itertools.count(10) for i in num: print(i) # 10 # 11 # 12 # 13 # 以此类推,无穷无尽
2.cycle()
letter = itertools.cycle('ABC') for i in letter: print(i) # A # B # C # A # B # 依次循环,无穷无尽
3.repeat()
rp = itertools.repeat('X') for i in rp: print(i) # X # X # X # 依次类推,无穷无尽 rp2 = itertools.repeat('X', 2) # 限制2次 for i in rp2: print(i) # X # X
想要限制迭代的次数还有一个办法,就是使用takewhile
num2 = itertools.takewhile(lambda x: x < 15, num) list(num2) # [10,11,12,13,14]
chain()
可以用来把几个迭代器合起来,构成一整个迭代器
for c in itertools.chain('AB', 'CD'): print(c) # A # B # C # D
groupby()
可以把重复的元素group起来
for key, group in itertools.groupby('AAABBCCB'): print(key, list(group)) # A ['A', 'A', 'A'] # B ['B', 'B', 'B] # C ['C', 'C'] # 注意这里是区分大小写的,如果要忽略 # 请使用 itertools.groupby('AAABBCCB', lambda c: c.upper())
来源:https://www.cnblogs.com/mrdoghead/p/12014224.html