重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
无限循环 序列: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']