python——itertools的使用

itertools

无限序列只有在for迭代时才会无限地迭代下去,如果只是创建了一个迭代对象,它不会事先把无限个元素生成出来,也不可能在内存中创建无限多个元素。

itertools.count(1):可以创建无限的迭代器,无法自动停止,只能人为手动停止。

itertools.cycle(‘ABC’):会把传入的序列无限重复下去,比如这个就会重复输出ABC。

itertools.repeat(‘A’, 3):未指定第二个参数时可以无限重复下去,若指定了第二个参数,则以该指定次数重复输出。

itertools.takewhile():可根据条件判断来截取出一个有限的序列,通常以lambda作为限定条件判断,比如:itertools.takewhile(lambda x: x <= 10, itertools.count(1))。第一个参数为限定条件,第二个为无限序列。

itertools.chain(迭代1, 迭代2):把一组迭代对象串联起来。

itertools.groupby():把迭代器中相邻的重复元素挑出来放在一起.

sum4 = itertools.groupby('AAAAAFFFRSEEE')
for key,value in sum4:
    print(key,list(value))

输出:

A ['A', 'A', 'A', 'A', 'A']
F ['F', 'F', 'F']
R ['R']
S ['S']
E ['E', 'E', 'E']
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值