Re: Keeping order with Union
- To: mathgroup at smc.vnet.net
- Subject: [mg32627] Re: Keeping order with Union
- From: Paul Abbott <paul at physics.uwa.edu.au>
- Date: Fri, 1 Feb 2002 02:02:29 -0500 (EST)
- Organization: University of Western Australia
- References: <a38bd0$2n$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Dave Snead <dsnead6 at charter.net> wrote:
> I'd like a function that throws out duplicate entries in a list and keeps
> the original list order. (when it sees 2 equal entries it throws out the one
> that is later in the list). I'd use Union, but it sometimes changes the
> order of the elements in the list. What's the tersest way to do this?
Here is one way using pattern-matching:
{a, b, c, d, a, 1, 2, 1, 3, x, a, b, c} //.
{a___, x_, b___, x_, c___} :> {a, x, b, c}
Cheers,
Paul
--
____________________________________________________________________
Paul Abbott Phone: +61-8-9380-2734
Department of Physics Fax: +61-8-9380-1014
The University of Western Australia (CRICOS Provider No 00126G)
35 Stirling Highway
Crawley WA 6009 mailto:paul at physics.uwa.edu.au
AUSTRALIA http://physics.uwa.edu.au/~paul
God IS a weakly left-handed dice player
____________________________________________________________________