python itertools模块位置_Python itertools模块详解

本文详细介绍了Python内置的itertools模块,包括count(), cycle(), repeat()等无限迭代器,以及chain(), compress(), dropwhile(), groupby(), ifilter()和ifilterfalse()等处理输入序列的迭代器。这些工具能帮助开发者更高效地处理循环和迭代操作,提升代码性能。

这货很强大, 必须掌握

文档 链接 http://docs.python.org/2/library/itertools.html

pymotw 链接 http://pymotw.com/2/itertools/

基本是基于文档的翻译和补充,相当于翻译了

itertools用于高效循环的迭代函数集合

组成

总体,整体了解

无限迭代器

复制代码 代码如下:

迭代器         参数         结果                                                例子

count()     start, [step]   start, start+step, start+2*step, …                count(10) –> 10 11 12 13 14 …

cycle()     p               p0, p1, … plast, p0, p1, …                      cycle(‘ABCD’) –> A B C D A B C D …

repeat()    elem [,n]       elem, elem, elem, … endlessly or up to n times    repeat(10, 3) –> 10 10 10

处理输入序列迭代器

复制代码 代码如下:

迭代器          参数            结果                                        例子

chain()     p, q, …           p0, p1, … plast, q0, q1, …              chain(‘ABC’, ‘DEF’) –> A B C D E F

compress()  data, selectors     (d[0] if s[0]), (d[1] if s[1]), …         compress(‘ABCDEF’, [1,0,1,0,1,1]) –> A C E F

dropwhile() pred, seq           seq[n], seq[n+1], starting when pred fails  dropwhile(lambda x: x<5, [1,4,6,4,1]) –> 6 4 1

groupby()   iterable[, keyfunc] sub-iterators grouped by value of keyfunc(v)

ifilter()   pred, seq           elements of seq where pred(elem) is True    ifilter(lambda x: x%2, range(10)) –> 1 3 5 7 9

ifilterfalse()  pred, seq       elements of seq where pred(elem) is False   ifilterfalse(lambda x: x%2, range(10)) –> 0 2 4 6 8

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值