On Wed, 18 May 2016 20:59:55 -0400, DFS wrote: > Have aList = [ > ('x','Name1', 1, 85), > ('x','Name2', 3, 219), > ('x','Name2', 1, 21), > ('x','Name3', 6, 169) > ] > > want > > aList = [ > ('Name1', 1, 85), > ('Name2', 4, 240), > ('Name3', 6, 169) > ]
[snip] > Is there something shorter and sweeter for the summation? from itertools import groupby from operator import itemgetter result = [(k, sum(map(itemgetter(2), v)), sum(map(itemgetter(3), v))) for (k, v) in [(k, list(v)) for (k, v) in groupby(aList, itemgetter(1))]]) Shorter? In terms of number of expressions, yes. In terms of characters typed, no. Sweeter? YMMV. HTH, Dan -- https://mail.python.org/mailman/listinfo/python-list