[Python-ideas] Batching/grouping function for itertools

Tal Einat taleinat at gmail.com
Sun Dec 8 09:14:42 CET 2013


Hello Amber,

These issues -- a batching function in itertools and including the
itertools recipes in the stdlib -- have both been discussed here recently.

Specifically regarding the batching function, I couldn't find the most
recent discussion via a quick search. IIRC the conclusion was what Nick
said: different use-cases require slightly different behaviors, which can
not be elegantly expressed as a single, simple and straight-forward
function. Therefore, it is better to have a basic recipe in the docs, which
everyone can modify according to their needs.

With regard to including the other recipes in the stdlib, I recommend
reading the most recent discussion on the archives [1]. The major argument
against this is that these recipes are easily implemented based on the
existing tools, but having all of them in the stdlib means having to
support them all in the future, including maintaining backwards
compatibility. Supporting stdlib code is considerably harder than having
working examples in the docs.

- Tal

[1] https://mail.python.org/pipermail/python-ideas/2012-July/015714.html


On Sun, Dec 8, 2013 at 9:02 AM, Nick Coghlan <ncoghlan at gmail.com> wrote:

> On 8 December 2013 15:14, Devin Jeanpierre <jeanpierreda at gmail.com> wrote:
> > On Sat, Dec 7, 2013 at 8:44 PM, Amber Yust <amber.yust at gmail.com> wrote:
> >> After seeing yet another person asking how to do this on #python (and
> having
> >> needed to do it in the past myself), I'm wondering why itertools doesn't
> >> have a function to break an iterator up into N-sized chunks.
> >
> > +1. In my experience the grouper recipe in the docs serve less as a
> > helpful example of how to use itertools and more as a thing to copy
> > paste. That's what modules are for.
>
> The windowing problem is too ill-defined - there are enough degrees of
> freedom that any API flexible enough to cover them all is harder to
> learn than just building out your own version that works the way you
> want it to, and a more restrictive API that *doesn't* cover all the
> variants introduces a sharp discontinuity between the "blessed"
> variant and the alternatives.
>
> For anyone that thinks the stdlib itertools is too minimalist (I'm not
> one of them), than "pip install more-itertools" provides the recipes
> from the stdlib docs, as well as a few other precomposed operations.
>
> Cheers,
> Nick.
>
> --
> Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20131208/841442ce/attachment.html>


More information about the Python-ideas mailing list