Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Sum elements in a list with conditions
Replies: 5   Last Post: Oct 20, 2012 1:56 PM

 Messages: [ Previous | Next ]
 Sseziwa Mukasa Posts: 108 Registered: 8/26/07
Re: Sum elements in a list with conditions
Posted: Oct 19, 2012 2:47 AM

There's no need to transpose:

{#[[1, 1]], Total[#[[All, 2]]]} & /@GatherBy[list1,First]

On Oct 18, 2012, at 2:36 AM, Guillermo Sanchez wrote:

> I have a list of sublist of pairs. I wish sum the second elements of
> the sublists when the first elements are equals
> Example:
> Int[]:={{1, a}, {2, b}, {1, c}, {2, d}, {2, e}, {3, f}}
> I hope
> Out[]:= {{1, a + c}, {2, b + c + e}, {3, f}}
>
> I can do it as is it is shown below but could any body find and
> easier solution.
>
>
> list1 = {{1, a}, {2, b}, {1, c}, {2, d}, {2, e}, {3, f}};
> list2 = GatherBy[list1, First];
> {l1, l2} = Transpose[Plus @@@ GatherBy[list, First]];
> Transpose[{l1/Length /@ list2 , l2}]
>

Date Subject Author
10/19/12 Sseziwa Mukasa
10/19/12 Bob Hanlon
10/19/12 Simons, F.H.