Raymond Hettinger
6b27cda643
Convert iterator __len__() methods to a private API.
2005-09-24 21:23:05 +00:00
Raymond Hettinger
fdf3bd6630
SF patch #1171417 : bug fix for islice() in docs
2005-03-27 20:11:44 +00:00
Raymond Hettinger
f77d0334f3
Revised the itertools quantifier recipes to match the performance of the
...
new builtins.
2005-03-11 22:17:30 +00:00
Raymond Hettinger
b2594050ea
Added optional None arguments to itertools.islice().
2004-12-05 09:25:51 +00:00
Raymond Hettinger
a9f6092904
Fix and test weak referencing of itertools.tee objects.
2004-10-17 16:40:14 +00:00
Raymond Hettinger
ff5dc0ee77
Improve test coverage.
2004-09-29 11:40:50 +00:00
Raymond Hettinger
4cda01e260
* Increase test coverage.
...
* Have groupby() be careful about decreffing structure members.
2004-09-28 04:45:28 +00:00
Raymond Hettinger
ffdb8bb99c
Use floor division operator.
2004-09-27 15:29:05 +00:00
Raymond Hettinger
4533f1fb7f
Improve three recipes in the itertools docs.
2004-09-23 07:27:39 +00:00
Tim Peters
beb7c0c434
test_sf_950057's gen1() used an assert statement, which caused the test
...
to fail when running with -O. Changed to raise AssertionError instead.
2004-07-18 17:34:03 +00:00
Raymond Hettinger
9d7c870c6d
SF #950057 : itertools.chain doesn't "process" exceptions as they occur
...
Both cycle() and chain() were handling exceptions only when switching
input sources. The patch makes the handle more immediate.
Will backport.
2004-05-08 19:49:42 +00:00
Raymond Hettinger
5cab2e3a88
Give itertools.repeat() a length method.
2004-02-10 09:25:40 +00:00
Raymond Hettinger
734fb5724f
Add a Guido inspired example for groupby().
2004-01-20 20:04:40 +00:00
Raymond Hettinger
64958a15d7
Guido grants a Christmas wish:
...
sorted() becomes a regular function instead of a classmethod.
2003-12-17 20:43:33 +00:00
Raymond Hettinger
d25c1c6351
Implement itertools.groupby()
...
Original idea by Guido van Rossum.
Idea for skipable inner iterators by Raymond Hettinger.
Idea for argument order and identity function default by Alex Martelli.
Implementation by Hye-Shik Chang (with tweaks by Raymond Hettinger).
2003-12-06 16:23:06 +00:00
Raymond Hettinger
ad983e79d6
Improve the implementation of itertools.tee().
...
Formerly, underlying queue was implemented in terms of two lists. The
new queue is a series of singly-linked fixed length lists.
The new implementation runs much faster, supports multi-way tees, and
allows tees of tees without additional memory costs.
The root ideas for this structure were contributed by Andrew Koenig
and Guido van Rossum.
2003-11-12 14:32:26 +00:00
Raymond Hettinger
d591f666de
Replace the window() example with pairwise() which demonstrates tee().
2003-10-26 15:34:50 +00:00
Raymond Hettinger
f0c5aec85f
Minor improvements to itertools.tee():
...
* tee object is no longer subclassable
* independent iterators renamed to "itertools.tee_iterator"
* fixed doc string typo and added entry in the module doc string
2003-10-26 14:25:56 +00:00
Raymond Hettinger
6a5b027742
Added itertools.tee()
...
It works like the pure python verion except:
* it stops storing data after of the iterators gets deallocated
* the data queue is implemented with two stacks instead of one dictionary.
2003-10-24 08:45:23 +00:00
Raymond Hettinger
dbe3d280e7
Adopt Christian Stork's suggested argument order for the logic quantifiers.
...
Adopt Jeremy Fincher's suggested function name, "any", instead of "some".
2003-10-05 16:47:36 +00:00
Raymond Hettinger
42a61ed277
Simplify doctest of tee().
2003-09-13 01:01:34 +00:00
Raymond Hettinger
a098b33c93
Add an example to address a common question of how to split iterators.
2003-09-08 23:58:40 +00:00
Raymond Hettinger
a56f6b6600
SF bug #793826 : using itertools.izip to mutate tuples
...
Avoid Armin Rigo's dastardly exercise in re-entrancy.
2003-08-29 23:09:58 +00:00
Raymond Hettinger
b5a420883c
Modified itertools.izip() to match the behavior of __builtin__.zip()
...
which can now take zero arguments.
2003-08-08 05:10:41 +00:00
Raymond Hettinger
77fe69bd08
Re-sync doc tests with the doc updates.
2003-08-08 04:33:19 +00:00