MathGroup Archive 2006

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

Search the Archive

Re: List difference using patterns and substitutions.

  • To: mathgroup at smc.vnet.net
  • Subject: [mg71322] Re: List difference using patterns and substitutions.
  • From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
  • Date: Wed, 15 Nov 2006 06:43:12 -0500 (EST)
  • Organization: The Open University, Milton Keynes, UK
  • References: <ejc53g$6qf$1@smc.vnet.net>

Nacho wrote:
> Hello.
> 
> I'm trying to figure how can I build a difference list from another
> using only patterns and rule substitutions.
> 
> The idea is to get from a list, another, one element shorter, where
> each value is the substraction of two consecutive elements in the
> original list, that is, from {1,2,3,5,5} get {1,1,2,0}.
> 
> I've been thinking about it for a while, and I know several methods
> using a more traditional programming style (with For, for example), but
> I have no idea if it is possible to make it simple and fast with rule
> substitutions.
> 
> Any idea? 
> 
> Thanks in advance.
> 
One approach could be

lst = {1, 2, 3, 5, 5};

Most[RotateLeft[lst] - lst]

--> {1, 1, 2, 0}

Another one would be

Partition[list, 2, 1] /. {a_, b_} -> b - a

--> {1, 1, 2, 0}

Regards,
Jean-Marc


  • Prev by Date: Re: linux font rotation in graphics & (strange) black graphics borders
  • Next by Date: Re: List difference using patterns and substitutions.
  • Previous by thread: Re: List difference using patterns and substitutions.
  • Next by thread: Re: List difference using patterns and substitutions.