这货很强大, 必须掌握
文档 链接 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
本文详细介绍了Python内置的itertools模块,包括count(), cycle(), repeat()等无限迭代器,以及chain(), compress(), dropwhile(), groupby(), ifilter()和ifilterfalse()等处理输入序列的迭代器。这些工具能帮助开发者更高效地处理循环和迭代操作,提升代码性能。
1962

被折叠的 条评论
为什么被折叠?



