Summing a 2D list
Chris
cwitts at gmail.com
Thu Jun 12 10:12:21 EDT 2008
On Jun 12, 3:48 pm, Mark <markjtur... at gmail.com> wrote:
> Hi all,
>
> I have a scenario where I have a list like this:
>
> User Score
> 1 0
> 1 1
> 1 5
> 2 3
> 2 1
> 3 2
> 4 3
> 4 3
> 4 2
>
> And I need to add up the score for each user to get something like
> this:
>
> User Score
> 1 6
> 2 4
> 3 2
> 4 8
>
> Is this possible? If so, how can I do it? I've tried looping through
> the arrays and not had much luck so far.
>
> Any help much appreciated,
>
> Mark
user_score = {}
for record in list:
user, score = record.split()
if user in user_score: user_score[user] += score
else: user_score[user] = score
print '\n'.join(['%s\t%s' % (user, score) for user,score in
sorted(user_score.items())])
You don't mention what data structure you are keeping your records in
but hopefully this helps you in the right direction.
More information about the Python-list
mailing list