import itertools # 创建一个无限的迭代器, 起始值为0, 步长为1 count_iter = itertools.count(start=0, step=1) for n in count_iter: if n > 10: break print(n, end=‘ ‘) # 输出结果输出结果:0 1 2 3 4 5 6 7 8 9 10
import itertools # 从10开始,步长为1, 迭代5次 for n in itertools.islice(itertools.count(10), 5): if n > 100: break print(n, end=‘ ‘) # 输出结果:10 11 12 13 14
import itertools # 无限重复传入的序列中的元素 i = 0 for n in itertools.cycle(‘abc‘): if i >= 10: break print(n, end=‘ ‘) i += 1 # 输出结果:a b c a b c a b c a
import itertools # 重复传入的元素 for n in itertools.repeat(‘ABC‘, times=5): print(n, end=‘ ‘) # 输出结果:ABC ABC ABC ABC ABC
import itertools # 把一组迭代对象串联起来,形成一个更大的迭代器 chain_list = [c for c in itertools.chain(‘ABC‘, ‘XYZ‘)] print(chain_list) # 输出结果:[‘A‘, ‘B‘, ‘C‘, ‘X‘, ‘Y‘, ‘Z‘]
import itertools for key, group in itertools.groupby(‘AaABbbCCaAAcc‘, key=lambda x: x.upper()): print(key, list(group)) # 输出结果: # A [‘A‘, ‘a‘, ‘A‘] # B [‘B‘, ‘b‘, ‘b‘] # C [‘C‘, ‘C‘] # A [‘a‘, ‘A‘, ‘A‘] # C [‘c‘, ‘c‘]
import string import itertools # ABCDEFGHIJKLMNOPQRSTUVWXYZ s = string.ascii_uppercase # result = list(s) result = [‘‘.join(t) for t in itertools.product(s, repeat=2) if "AA" <= ‘‘.join(t) <= "AK"] print(result) # 输出结果: # [‘AA‘, ‘AB‘, ‘AC‘, ‘AD‘, ‘AE‘, ‘AF‘, ‘AG‘, ‘AH‘, ‘AI‘, ‘AJ‘, ‘AK‘]
原文:https://www.cnblogs.com/itelephant/p/13618033.html