Re: rule based program for "Deleting repeated members of a list."
- To: mathgroup at smc.vnet.net
- Subject: [mg81938] Re: rule based program for "Deleting repeated members of a list."
- From: Szabolcs Horvát <szhorvat at gmail.com>
- Date: Sun, 7 Oct 2007 05:30:44 -0400 (EDT)
- References: <fe7j44$qga$1@smc.vnet.net>
mumat wrote:
> Hi,
>
> I have a list s={a,b,c,c,d,e,e,f,g,g,g,h,a,b};
>
> I need to write a program so that it reads the list and ignors
> repeated elements; so it outputs the following:
>
> RepeatRemover[s]={a,b,c,d,e,f,g,h,a,b};
>
> I am looking for a rule-based program to do this!
>
> Any help would be greatly appreciated.
Why do you insist on a "rule-based" solution?
The obvious (and efficient) solution is
First /@ Split[s]
An inefficient replacement-rule-based solution is
s //. {be___, x_, x_, en___} -> {be, x, en}
--
Szabolcs