@@ -30,18 +30,7 @@ For instance, SML provides a tabulation tool: ``tabulate(f)`` which produces a
3030sequence ``f(0), f(1), ... ``. The same effect can be achieved in Python
3131by combining:func: `map ` and:func: `count ` to form ``map(f, count()) ``.
3232
33-
34- **Infinite iterators: **
35-
36- ================== ================= ================================================= =========================================
37- Iterator Arguments Results Example
38- ================== ================= ================================================= =========================================
39- :func: `count ` [start[, step]] start, start+step, start+2*step, ... ``count(10) → 10 11 12 13 14 ... ``
40- :func: `cycle ` p p0, p1, ... plast, p0, p1, ... ``cycle('ABCD') → A B C D A B C D ... ``
41- :func: `repeat ` elem [,n] elem, elem, elem, ... endlessly or up to n times ``repeat(10, 3) → 10 10 10 ``
42- ================== ================= ================================================= =========================================
43-
44- **Iterators terminating on the shortest input sequence: **
33+ **General iterators: **
4534
4635============================ ============================ ================================================= =============================================================
4736Iterator Arguments Results Example
@@ -51,11 +40,14 @@ Iterator Arguments Results
5140:func: `chain ` p, q, ... p0, p1, ... plast, q0, q1, ... ``chain('ABC', 'DEF') → A B C D E F ``
5241:func: `chain.from_iterable ` iterable p0, p1, ... plast, q0, q1, ... ``chain.from_iterable(['ABC', 'DEF']) → A B C D E F ``
5342:func: `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 ``
43+ :func: `count ` [start[, step]] start, start+step, start+2*step, ... ``count(10) → 10 11 12 13 14 ... ``
44+ :func: `cycle ` p p0, p1, ... plast, p0, p1, ... ``cycle('ABCD') → A B C D A B C D ... ``
5445:func: `dropwhile ` predicate, seq seq[n], seq[n+1], starting when predicate fails ``dropwhile(lambda x: x<5, [1,4,6,3,8]) → 6 3 8 ``
5546:func: `filterfalse ` predicate, seq elements of seq where predicate(elem) fails ``filterfalse(lambda x: x<5, [1,4,6,3,8]) → 6 8 ``
5647:func: `groupby ` iterable[, key] sub-iterators grouped by value of key(v) ``groupby(['A','B','DEF'], len) → (1, A B) (3, DEF) ``
5748:func: `islice ` seq, [start,] stop [, step] elements from seq[start:stop:step] ``islice('ABCDEFG', 2, None) → C D E F G ``
5849:func: `pairwise ` iterable (p[0], p[1]), (p[1], p[2]) ``pairwise('ABCDEFG') → AB BC CD DE EF FG ``
50+ :func: `repeat ` elem [,n] elem, elem, elem, ... endlessly or up to n times ``repeat(10, 3) → 10 10 10 ``
5951:func: `starmap ` func, seq func(\* seq[0]), func(\* seq[1]), ... ``starmap(pow, [(2,5), (3,2), (10,3)]) → 32 9 1000 ``
6052:func: `takewhile ` predicate, seq seq[0], seq[1], until predicate fails ``takewhile(lambda x: x<5, [1,4,6,3,8]) → 1 4 ``
6153:func: `tee ` it, n it1, it2, ... itn splits one iterator into n ``tee('ABC', 2) → A B C, A B C ``