simultaneous assignment

Boris Borcic bborcic at gmail.com
Wed May 10 05:48:13 EDT 2006


Steve R. Hastings wrote:

> You could also use a function that counts all different values in a list,
> reducing the list to a dictionary whose keys are the unique values from
> the list.  I got the idea from a discussion here on comp.lang.python; I
> called my version of it tally().
> 
> d = tally(bool(x) for x in seq)
> print d[True]  # prints how many true values in seq
> print d[False]  # prints how many false values in seq
> 
> 
> tally() is in my iterwrap.py module, which you can get here:
> 
> http://home.blarg.net/~steveha/iterwrap.tar.gz
> 

 >>> from itertools import groupby
 >>> tally = lambda it : dict((x,sum(1 for _ in y)) for x,y in groupby(sorted(it)))
 >>> tally('abbcabbcca')
{'a': 3, 'c': 3, 'b': 4}



More information about the Python-list mailing list