python内置迭代:itertools-创新互联

无限循环 序列:itertools.cycle

孟州ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
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']

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文题目:python内置迭代:itertools-创新互联
分享链接:http://scyanting.com/article/ccpgic.html