More routines for operating on iterables, beyond itertools
I love itertools; it’s one of the most beautiful, composable standard libs. Whenever I have an iteration problem, there’s almost always an itertools routine that fits it perfectly. Sometimes, however, neither itertools nor the recipes included in its docs do quite what I need.
Here I’ve collected several routines I’ve reached for but not found. Since they are deceptively tricky to get right, I’ve wrapped them up into a library. We’ve also included implementations of the recipes from the itertools documentation. Enjoy! Any additions are welcome; just file a pull request.
Please see http://packages.python.org/more-itertools/api.html for the list of routines.
- Added (tested!) implementations of the recipes from the itertools documentation. (Thanks, Chris Lonnen!)
- Added ilen. (Thanks for the inspiration, Matt Basta!)
- chunked now returns lists rather than tuples. After all, they’re homogeneous. This slightly backward-incompatible change is the reason for the major version bump.
- Added @consumer.
- Improved test machinery.
- Added first function.
- Added Python 3 support.
- Added a default arg to peekable.peek().
- Noted how to easily test whether a peekable iterator is exhausted.
- Rewrote documentation.
- Initial release, with collate, peekable, and chunked. Could really use better docs.