# Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数
# 1、count()
import itertools
natuals = itertools.count(1)
# for n in natuals:
#      print(n)
# 输出结果:  1,2,3.....n 的自然数,一直执行下去# 通过takewhile()等函数根据条件判断来截取出一个有限的序列
natuals2 = itertools.count(1)
ns = itertools.takewhile(lambda x: x <= 10, natuals2)
print(list(ns))
# 输出结果: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]# 2、cycle() 会把传入的一个序列无限重复下去:
import itertools
cs = itertools.cycle('ABC')  # 注意字符串也是序列的一种
# for c in cs:
#      print(c)
# 输出结果:  'A', 'B', 'C' 无限重复, 一直输出# 3、repeat()负责把一个元素无限重复下去,不过如果提供第二个参数就可以限定重复次数
ns = itertools.repeat('A', 3)
for n in ns:print(n)# 4、chain()可以把一组迭代对象串联起来,形成一个更大的迭代器
for c in itertools.chain('ABC', 'XYZ'):print(c)
# 迭代效果:'A' 'B' 'C' 'X' 'Y' 'Z'# 5、groupby()把迭代器中相邻的重复元素挑出来放在一起
ls = []
for key, group in itertools.groupby('AAABBBCCAAA'):a = list(group)# print(type(group))   # 注意: 迭代器是循环完成之后,里面就是空的,再次循环是会报错的print(key, a)ls.append(a)
print(ls)
"""
输出结果:A ['A', 'A', 'A']B ['B', 'B', 'B']C ['C', 'C']A ['A', 'A', 'A'][['A', 'A', 'A'], ['B', 'B', 'B'], ['C', 'C'], ['A', 'A', 'A']]
"""# groupby()  里面是可以写匿名函数
for key, group in itertools.groupby('AaaBBbcCAAa', lambda x: x.upper()):print(key, list(group))"""
输出结果:A ['A', 'A', 'A']B ['B', 'B', 'B']C ['C', 'C']A ['A', 'A', 'A']
"""

Python itertools模块相关推荐

  1. Python -itertools模块combinations方法

    itertools模块combinations(iterable, r)方法可以创建一个迭代器,返回iterable中所有长度为r的子序列,返回的子序列中的项按输入iterable中的顺序排序. 例1 ...

  2. python itertools模块位置_Python高效编程之itertools模块详解

    0 前言 说到处理循环,我们习惯使用for, while等,比如依次打印每个列表中的字符:lis = [ I , love , python ] for i in lis: print(i) I lo ...

  3. python itertools模块_Python标准模块--itertools

    1 模块简介 Python提供了itertools模块,可以创建属于自己的迭代器.itertools提供的工具快速并且节约内存.开发者可以使用这些工具创建属于自己特定的迭代器,这些特定的迭代器可以用于 ...

  4. python itertools模块chain函数功能详解 itertools.chain(*iterable)

    Itertools模块, itertools提供了高效快捷的用于操作迭代对象的函数.通过使用这个模块,可以简化代码. Itertools.chain语法 Itertools.chain(*iterab ...

  5. Python itertools 模块

    Python itertools 本模块标准化了一个快速.高效利用内存的核心工具集.它们一起形成了"迭代器代数",这使得在纯 Python 中有可能创建简洁又高效的专用工具. 无穷 ...

  6. python itertools模块详解

    目录 简介 无穷迭代器 count() cycle() repeat() 有限迭代器 chain() groupby() accumulate() 组合迭代器 product() permutatio ...

  7. Python itertools模块

    今天学了简单好玩的模块.itertools模块,简单的说,itertools模块就是产生一个循环器 来看下这个模块的功能都有哪些吧 无穷循环器 count()  从開始的数字一直数下去 count(1 ...

  8. python itertools模块_Python标准库:itertools模块

    来源:j_hao104 简介 官方描述:Functional tools for creating and using iterators.即用于创建高效迭代器的函数. itertools.chain ...

  9. python itertools模块_Python中的Itertools模块

    itertools提供的工具快速且高效,为了提升代码质量及避免重复造轮子,有必要学习下. 无限迭代器 count(start=0, step=1) count迭代器以start为起点(默认0),ste ...

最新文章

  1. Dart中的catchError捕获顺序
  2. laravel debug,http模式,日志
  3. 中国半导体硅片行业未来发展趋势与销售规模预测报告2022版
  4. BZOJ 3907: 网格( 组合数 + 高精度 )
  5. PCIe学习笔记(15)--- TLP的ROUTING方式
  6. NFS调试linux内核启动卡死在DHCP和RARP上
  7. APPKIT打造稳定、灵活、高效的运营配置平台
  8. 分区取模分库分表策略:多表事务分库内闭环解决方案
  9. 剑指Offer之旋转数组中的最小数字(题8)
  10. C++ 好的博客??
  11. 牛客--二维数组中的查找
  12. 每台计算机ip地址,每台电脑均要设置IP地址,究竟什么是IP地址,到底有什么用呢?...
  13. python混合线性模型_Python Statsmodels Mixedlm(混合线性模型)随机效应
  14. JS 大陆香港台湾手机格式校验
  15. 台式计算机的打印机端口,台式电脑怎么连接网络打印机
  16. 更适合运动的耳机,设计时尚轻巧好用,南卡Runner CC3上手
  17. 中缀转后缀并分别计算
  18. hwd分别是长宽高_DS-2CD7A47HWD-XZS 海康威视400万人脸比对摄像机 DS-2CD7A47HWD-XZS/JM
  19. HEOI2013 ALO
  20. 奇妙而又有趣的密码学

热门文章

  1. 射频指标简略之动态范围
  2. 干货分享|巧用CSS滤镜绘制安卓手机充电动效(uni-app|view组件版)
  3. linux查看cpu核数:lscpu
  4. java中getClass()方法简介
  5. php开发中常用函数总结
  6. linux搭建git服务管理仓库
  7. 双色Hanoi塔问题-递归
  8. 云开发的微信答题小程序
  9. b站崩溃,程序员熬夜,灵活用工势在必行
  10. solidworks 草图 阵列修改_SolidWorks2018草图圆阵列命令教程