[Python-Dev] Re: Candidate Itertools
David Eppstein
eppstein at ics.uci.edu
Thu Jun 24 15:11:50 EDT 2004
In article <20040622035255.GB1891 at panix.com>,
Aahz <aahz at pythoncraft.com> wrote:
> > Hmm, there seems to be 100% support for returning a dictionary and zero
> > support for my iterable (cnt, elem) ... to feed min(), max(), sorted(),
> > nlargest(), and nsmallest().
>
> The problem is that it's useful for those operations -- and nothing
> else. It's narrow functionality, and anyone looking just at itertools
> will find this confusing; it's just not the natural definition for
> something named ``count_elements``, and I suspect it is not possible to
> create a good name for your purpose. Anyone who understands Python will
> expect ``count_elements`` to return (elem,cnt) or a dict.
I finally found the recent code where I'd used something like this
(for the curious: http://www.ics.uci.edu/~eppstein/numth/egypt/egypt.py)
I wrote it as a function that returns a dict (itemCounts in the above
source) but what I actually did with the results in one place was to
sort the (elem,cnt) pairs by elem (not by cnt) and then iterate through
them in sorted order. In another place I used the dictionary directly
but it amounted to the same thing.
So, either of Aahz's suggestions would have worked for me but the
original (cnt,elem) suggestion wouldn't have been right.
--
David Eppstein http://www.ics.uci.edu/~eppstein/
Univ. of California, Irvine, School of Information & Computer Science
More information about the Python-Dev
mailing list