On Thu, Jun 12, 2008 at 3:48 PM, Mark <[EMAIL PROTECTED]> 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.
Here is another solution: from itertools import groupby from operator import itemgetter users = [1, 1, 1, 2, 2, 3, 4, 4, 4] scores = [0, 1, 5, 3, 1, 2, 3, 3, 2] for u, s in groupby(zip(users, scores), itemgetter(0)): print u, sum(y for x, y in s) You probably should reconsider how you can store your data in a more efficient format. -- mvh Björn -- http://mail.python.org/mailman/listinfo/python-list