It seems a really stupid reason to make this choice, but: If we make a Grouping class, it has an obvious home in the collections module
If we make a grouping (or grouped) function, we don't know where to put it But since I like the Grouping class idea anyway, it's one more reason... -CHB On Tue, Jul 3, 2018 at 9:15 AM, Chris Barker <chris.bar...@noaa.gov> wrote: > On Tue, Jul 3, 2018 at 8:24 AM, Steven D'Aprano <st...@pearwood.info> > wrote: > >> On Tue, Jul 03, 2018 at 09:23:07AM -0400, David Mertz wrote: >> > > >> > My problem with the second idea is that *I* find it very wrong to have >> > something in itertools that does not return an iterator. It wrecks the >> > combinatorial algebra of the module. >> > > hmm -- that seems to be a pretty pedantic approach -- practicality beats > purity, after all :-) > > I think we should first decide if a grouping() function is a useful > addition to the standard library (after all: "not every two line function > needs to in the stdlib"), and f so, then we can find a home for it. > > personally, I'm wondering if a "dicttools" or something module would make > sense -- I imagine there are all sorts of other handy utilities for working > with dicts that could go there. (though, yeah, we'd want to actually have a > handful of these before creating a new module :-) ) > > > That said, it's easy to fix... and I believe independently useful. Just >> > make grouping() a generator function rather than a plain function. This >> > lets us get an incremental grouping of an iterable. >> >> We already have something which lazily groups an iterable, returning >> groups as they are seen: groupby. >> >> What makes grouping() different from groupby() is that it accumulates >> ALL of the subgroups rather than just consecutive subgroupings. > > > well, yeah, but it wont actually get you those until you exhaust the > iterator -- so while it's different than itertools.groupby, it is different > than itertools.groupby(sorted(iterable))? > > In short, this wouldn't really solve the problems that itertools.groupby > has for this sort of task -- so what's the point? > > > As for where it belongs, perhaps the collections module is the least > worst fit. > > That depends some on whether we go with a simple function, in which case > collections is a pretty bad fit (but maybe still the least worse). > > Personally I still like the idea of having this be special type of dict, > rather than "just a function" -- and then it's really obvious where to put > it :-) > > -CHB > > > -- > > Christopher Barker, Ph.D. > Oceanographer > > Emergency Response Division > NOAA/NOS/OR&R (206) 526-6959 voice > 7600 Sand Point Way NE (206) 526-6329 fax > Seattle, WA 98115 (206) 526-6317 main reception > > chris.bar...@noaa.gov > -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception chris.bar...@noaa.gov
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/