python 内置迭代:itertools
admin
2023-07-23 14:22:36
0

无限循环 序列: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']


相关内容

热门资讯

他或成英国新首相,特朗普表态 英国首相斯塔默日前宣布辞职,他的继任者极有可能是前大曼彻斯特市长、议员伯纳姆。美国总统特朗普近来与斯...
人民日报钟声:急修“安保三文件... 急修“安保三文件”,暴露日本加速军事转轨的急躁姿态(钟声)《人民日报》(2026年06月25日 第 ...
小伙凌晨酒店按摩从房间坠亡,酒... 一名“00后”小伙与同事聚餐饮酒后,凌晨前往一酒店接受按摩,却从酒店房间坠楼身亡。据酒店相关负责人以...
内塔尼亚胡称只要其在任以军就不... △内塔尼亚胡(资料图)当地时间24日,以色列总理内塔尼亚胡在以色列地方政府联合会上发表讲话,谈及以军...
瑞士谈判核心诉求为何?议长会否... 美伊瑞士谈判刚刚结束,双方对谅解备忘录各执一词。我在伊朗外交部新闻发布会现场提问:从瑞士谈判到阿曼磋...
鲁比奥:美伊本月底将继续技术磋... △鲁比奥(资料图)24日多方消息显示,美国国务卿鲁比奥表示,美国和伊朗技术团队将于6月底在瑞士继续举...
芯联集成200亿项目落地:12... 快科技6月24日消息,芯联集成近日发布对外投资进展公告,公司与芯联先进集成电路制造(绍兴)有限公司(...
刷新海洋机器人融资纪录后,他以... 来源:滚动播报 (来源:上观新闻) 依托长三角科创产业沃土,国内海洋智能装备赛道跑出新锐力量。今天...
2026年省管企业“科技创新与... 为进一步提升国资国企科技创新管理水平,推动企业规范开展科技创新活动,强化实践运用能力,切实以高质量创...
智平方郭彦东:机器人大脑不应只... “下一代机器人大脑不应只是算力和数据的竞赛。” 6月23日,具身智能机器人公司智平方创始人兼CEO郭...