Re: List Operations
- To: mathgroup at smc.vnet.net
- Subject: [mg65702] Re: List Operations
- From: "Ray Koopman" <koopman at sfu.ca>
- Date: Sun, 16 Apr 2006 01:45:10 -0400 (EDT)
- References: <e1nn6s$lmm$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
LectorZ wrote:
> Hi guys,
>
> My question:
>
> mylist={{1,a, b},{1,a, b},{1,a,
> b},{2,b,z},{2,b,z},{2,b,z},{2,b,z},....,{n,x,y},{n,x,y},{n,x,y},...{n,x,y}}
>
> The sublists are of different length.
>
> I need to calculate the product between the 2nd and 3rd element of
> every sublist (e.g. a*b) and then add them up according to the 1st
> element: sum of all products where the 1st element is 1, 2, ...n.
>
> The result should be a list like that:
> {{1,a*b+a*b+a*b},{2,b*z+b*z+b*z+b*z}, ...,{n, x*y+x*y+x*y+...+x*y}}
>
> Thank you for your help.
>
> LZ
In[1]:= mylist= {{1,a1,b1},{1,a2,b2},{1,a3,b3},
{2,b1,z1},{2,b2,z2},{2,b3,z3},{2,b4,z4},
{3,x1,y1},{3,x2,y2}};
In[2]:= {#[[1,1]],#[[All,2]].#[[All,3]]}& /@
Split[Sort@mylist,#1[[1]]==#2[[1]]&]
Out[2]= {{1,a1*b1+a2*b2+a3*b3},
{2,b1*z1+b2*z2+b3*z3+b4*z4},
{3,x1*y1+x2*y2}}