Python常用内建模块-itertools
以下来自:廖雪峰官网liaoxuefeng.com/wiki/1016959663602400/1017783145987360 ? Python的内建模块 首先,我们看看 >>> import itertools >>> natuals = itertools.count(1) >>> for n in natuals: ... print(n) ... 1 2 3 ...
因为
>>> import itertools >>> cs = itertools.cycle(‘ABC‘) # 注意字符串也是序列的一种 >>> for c in cs: ... print(c) ... ‘A‘ ‘B‘ ‘C‘ ‘A‘ ‘B‘ ‘C‘ ...
同样停不下来。
>>> ns = itertools.repeat(‘A‘,3) >>> for n in ns: ... print(n) ... A A A
无限序列只有在 无限序列虽然可以无限迭代下去,但是通常我们会通过 >>> natuals = itertools.count(1) >>> ns = itertools.takewhile(lambda x: x <= 10,natuals) >>> list(ns) [1,2,3,4,5,6,7,8,9,10]
chain()
>>> for c in itertools.chain(‘ABC‘,‘XYZ‘): ... print(c) # 迭代效果:‘A‘ ‘B‘ ‘C‘ ‘X‘ ‘Y‘ ‘Z‘
groupby()
>>> for key,group in itertools.groupby(‘AAABBBCCAAA‘): ... print(key,list(group)) ... A [‘A‘,‘A‘,‘A‘] B [‘B‘,‘B‘,‘B‘] C [‘C‘,‘C‘] A [‘A‘,‘A‘]
实际上挑选规则是通过函数完成的,只要作用于函数的两个元素返回的值相等,这两个元素就被认为是在一组的,而函数返回值作为组的key。如果我们要忽略大小写分组,就可以让元素 >>> for key,group in itertools.groupby(‘AaaBBbcCAAa‘,lambda c: c.upper()): ... print(key,‘a‘,‘a‘] B [‘B‘,‘b‘] C [‘c‘,‘a‘]
练习计算圆周率可以根据公式: 利用Python提供的itertools模块,我们来计算这个序列的前N项和: 小结
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 利用Python无限爆破路由器密码, 限制错误次数? 对Python无用
- python2用pip进行安装时报错Fatal error in launcher: Unab
- python – Gmail同时显示电子邮件的HTML和文本以及HTML部分
- python – 一个Flask装饰器怎么有参数?
- python format用法详解
- python – 填充枚举数组
- 在Django模型表单中使用Model属性
- Python 3和Python 2之间的type()和hasattr()的区别
- python – Django Queryset和filter()vs get()[复制]
- 使用Python(和DataNitro)将单元格从一个Excel工作簿中的特定