[Baypiggies] How to create a dict of counts using functional programming
Marilyn Davis
mdavis2 at ucsc.edu
Mon Sep 28 22:41:40 CEST 2015
It's a great little student project:
data = '1','2','7','8','8'
data_count_d = dict([(datum, data.count(datum)) for index, datum in
enumerate(data) if index == data.index(datum)])
print data_count_d
That does it I think.
Thanks for an interesting question.
Marilyn
On Mon, Sep 28, 2015 at 4:19 AM, David Berthelot <david.berthelot at gmail.com>
wrote:
> There's already a function written for that though in the standard library:
> https://docs.python.org/2/library/collections.html#collections.Counter
>
> On Mon, Sep 28, 2015 at 4:01 AM, Braun Brelin <bbrelin at gmail.com> wrote:
>
>> Hello all,
>>
>> I am trying to do the following:
>> I have a list that looks like this:
>> ['1','2','7','8','8']
>>
>> I want to create a dictionary that looks like this:
>> {1:1, 2:1,7:1,8:2}
>> i.e. the value is the count of the number of times the key appears in
>> the list. The catch is that I'm trying to do this in a functional
>> programming way, rather than iteratively.
>>
>> I'm trying to use something like map, or reduce or even dict, but I can't
>> figure out how to tell
>> python to increment the value. In other words how do I even specify what
>> the value is, as it
>> seems to be a bit of a chicken and egg scenario.
>>
>> I can, for example create a dictionary that sets the values to a
>> constant, such as zero using FP,
>> but how do I tell it to increment the value for a dictionary that doesn't
>> yet exist as I'm in the process of
>> building it?
>>
>> Thanks,
>>
>> Braun Brelin
>>
>>
>>
>> _______________________________________________
>> Baypiggies mailing list
>> Baypiggies at python.org
>> To change your subscription options or unsubscribe:
>> https://mail.python.org/mailman/listinfo/baypiggies
>>
>
>
> _______________________________________________
> Baypiggies mailing list
> Baypiggies at python.org
> To change your subscription options or unsubscribe:
> https://mail.python.org/mailman/listinfo/baypiggies
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/baypiggies/attachments/20150928/9c426ef2/attachment.html>
More information about the Baypiggies
mailing list