skip to navigation
skip to content

more-itertools 2.4.1

More routines for operating on iterables, beyond itertools

Package Documentation

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.

Full Documentation

Please see https://more-itertools.readthedocs.io/en/latest/api.html for the list of routines.

Version History

2.4.1
  • Move docs 100% to readthedocs.io.
2.4
  • New itertools:
    • accumulate, all_equal, first_true, partition, and tail from the itertools documentation.
    • bucket (Thanks to Rosuav and cvrebert)
    • collapse (Thanks to abarnet)
    • interleave and interleave_longest (Thanks to abarnet)
    • side_effect (Thanks to nvie)
    • sliced (Thanks to j4mie and coady)
    • split_before and split_after (Thanks to astronouth7303)
    • spy (Thanks to themiurgo and mathieulongtin)
  • Improvements to existing itertools:
    • chunked is now simpler and more friendly to garbage collection. (Contributed by coady, with thanks to piskvorky)
    • collate now delegates to heapq.merge when possible. (Thanks to kmike and julianpistorius)
    • peekable-wrapped iterables are now indexable and sliceable. Iterating through peekable-wrapped iterables is also faster.
    • one and unique_to_each have been simplified. (Thanks to coady)
2.3
  • Added one from jaraco.util.itertools. (Thanks, jaraco!)
  • Added distinct_permutations and unique_to_each. (Contributed by bbayles)
  • Added windowed. (Contributed by bbayles, with thanks to buchanae, jaraco, and abarnert)
  • Simplified the implementation of chunked. (Thanks, nvie!)
  • Python 3.5 is now supported. Python 2.6 is no longer supported.
  • Python 3 is now supported directly; there is no 2to3 step.
2.2
  • Added iterate and with_iter. (Thanks, abarnert!)
2.1
  • Added (tested!) implementations of the recipes from the itertools documentation. (Thanks, Chris Lonnen!)
  • Added ilen. (Thanks for the inspiration, Matt Basta!)
2.0
  • 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.
1.1
  • 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.
1.0
  • Initial release, with collate, peekable, and chunked. Could really use better docs.
 
File Type Py Version Uploaded on Size
more-itertools-2.4.1.tar.gz (md5) Source 2016-12-02 27KB