MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Sum elements in a list with conditions


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}}
> 

A solution with Sow and Reap

In[1]:=
L = {{a1, b1}, {a2, b2}, {a2, b3}, {a2, b4}, {a3, b5}, {a3, b6}}; 

In[2]:=
Reap[(Sow[#1[[2]], #1[[1]]] & ) /@ L, _,  {#1, Total[#2]} & ][[2]]

Out[2]=
{{a1, b1}, {a2, b2 + b3 + b4}, {a3, b5 + b6}}


Adriano Pascoletti


  • Prev by Date: Re: showing your work in mathematica
  • Next by Date: Re: Sum elements in a list with conditions
  • Previous by thread: Re: Sum elements in a list with conditions
  • Next by thread: Re: Sum elements in a list with conditions