Re: List difference using patterns and substitutions.

• To: mathgroup at smc.vnet.net
• Subject: [mg71329] Re: List difference using patterns and substitutions.
• From: Yves Klett <yves.klett at googlemail.com>
• Date: Wed, 15 Nov 2006 06:43:28 -0500 (EST)
• Organization: Comp.Center (RUS), U of Stuttgart, FRG
• References: <ejc53g\$6qf\$1@smc.vnet.net>

```Nacho schrieb:
> 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?
>
>

Hi Nacho,

one convenient possibility:

#[[2]]-#[[1]]&/@Partition[{1,2,3,5,5},2,1]

{1,1,2,0}

...one using *only* rules (bitsy awkward, only working for numeric entries):

rule1={a___,b_?NumericQ,c_?NumericQ,d___}->{a,{c-b},c,d};
rule2={l:_List..,x_}->{l};
rule3=List[x_]->x;

{1,2,3,5,5}//.rule1/.rule2/.rule3

{1,1,2,0}

Regards,
Yves

```

• Prev by Date: Re: List difference using patterns and substitutions.
• Next by Date: transcendental equation
• Previous by thread: Re: List difference using patterns and substitutions.
• Next by thread: Re: List difference using patterns and substitutions.