Re: List difference using patterns and substitutions.

• To: mathgroup at smc.vnet.net
• Subject: [mg71347] Re: [mg71306] List difference using patterns and substitutions.
• From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
• Date: Wed, 15 Nov 2006 06:44:29 -0500 (EST)
• References: <200611141006.FAA06710@smc.vnet.net>

```On 14 Nov 2006, at 19:06, 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?
>
>

Rules and substitutions are not the best approach in this case. Built-
in functions are.
You can do it using just a single built-in function:

ListConvolve[{1,-1},{1,2,3,5,5}]

{1,1,2,0}

or slightly longer (but perhaps easier to understand) code:

Most[(RotateLeft[#]-#)&[{1,2,3,5,5}]]

{1,1,2,0}

Andrzej Kozlowski

```

• Prev by Date: Define a matrix function with size as argument
• 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.