Summing a 2D list

Aidan aweraw at gmail.com
Thu Jun 12 10:21:15 EDT 2008


Mark 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


does this work for you?


users = [1,1,1,2,2,3,4,4,4]
score = [0,1,5,3,1,2,3,3,2]

d = dict()

for u,s in zip(users,score):
   if d.has_key(u):
     d[u] += s
   else:
     d[u] = s

for key in d.keys():
   print 'user: %d\nscore: %d\n' % (key,d[key])



More information about the Python-list mailing list