[Python-Dev] tally (and other accumulators)

Alex Martelli aleaxit at gmail.com
Tue Apr 4 17:17:57 CEST 2006


On Apr 4, 2006, at 8:01 AM, Jeremy Hylton wrote:

> On 4/4/06, Alex Martelli <aleaxit at gmail.com> wrote:
>> import collections
>> def tally(seq):
>>      d = collections.defaultdict(int)
>>      for item in seq:
>>          d[item] += 1
>>      return dict(d)
    ...
> Putting it somewhere in collections seems like a great idea.
> defaultdict is a bit odd, because the functionality doesn't have
> anything to do with defaults, just dicts.  maybe a classmethod on
> regular dicts would make more sense?

Good points: it should probably be a classmethod on dict, or a  
function in module collections.

> I write this function regularly, so I'd be happy to have it  
> available directly.

Heh, same here -- soon as I saw it proposed on c.l.py I recognized an  
old friend and it struck me that, simple but widely used, it should  
be somewhere in the standard library.


Alex



More information about the Python-Dev mailing list