Re: Sum elements in a list with conditions

*To*: mathgroup at smc.vnet.net*Subject*: [mg69873] Re: [mg69828] Sum elements in a list with conditions*From*: Andrzej Kozlowski <akoz at mimuw.edu.pl>*Date*: Tue, 26 Sep 2006 00:59:39 -0400 (EDT)

On 24 Sep 2006, at 12:45, Guillermo Sanchez wrote: > Dear group > I have a pair of elements list. The second elements of the list should > be summed when the first element of the pairs are equals. Example > > Given > > {{a1, b1},{a2,b2},{a2,b3},{a2,b4},{a3, b5}, {a3, b6}} > > the output should be > > {{a1, b1},{a2, b2+b3+b4},{a3, b5+b6}} > > Thanks > > Guillermo > Just for fun: here is a solution that is, I think, entirely different from all the others that have been posted. List@@@(List@@(Simplify[Plus@@(Times@@@{{a1, b1},{a2,b2},{a2,b3}, {a2,b4},{a3, b5}, {a3, b6}})])) {{a1, b1}, {a2, b2 + b3 + b4}, {a3, b5 + b6}} It will only work if the elements of the original lists are symbols but one can modify it to work with numbers. However, this way of programming is in general inefficient so the above is only meant as an example of the kind of programming that is unique to computer algebra systems. Andrzej Kozlowski