Re: Uniquely Subtracting Elements in a Flat List
- To: mathgroup at smc.vnet.net
- Subject: [mg29203] Re: [mg29182] Uniquely Subtracting Elements in a Flat List
- From: David Withoff <withoff at wolfram.com>
- Date: Mon, 4 Jun 2001 05:30:37 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
> I need help taking a flat list, such as {a,b,c,d} and generating another
> list by successively subtracting a-b, b-c, c-d, so that the resulting
> list would be {a-b,b-c,c-d}.
>
> Thanks,
> Alan
One interesting way to do this is to use ListConvolve:
In[1]:= flatlist={a,b,c,d}
Out[1]= {a,b,c,d}
In[2]:= ListConvolve[{-1,1},flatlist]
Out[2]= {a-b,b-c,c-d}
There are lots of other solutions, though...
In[3]:= Rest[RotateRight[flatlist]-flatlist]
Out[3]= {a-b,b-c,c-d}
In[4]:= Table[flatlist[[k]]-flatlist[[k+1]],{k,Length[flatlist]-1}]
Out[4]= {a-b,b-c,c-d}
etc. etc.