Re: Keeping order with Union
- To: mathgroup at smc.vnet.net
- Subject: [mg32605] Re: [mg32590] Keeping order with Union
- From: BobHanlon at aol.com
- Date: Thu, 31 Jan 2002 01:45:32 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
In a message dated 1/30/02 4:26:36 AM, dsnead6 at charter.net writes: >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? > elimDupes[x_List] := (x//.{s___,e_,i___,e_,f___} :>{s,e,i,f}); origList = {b,b,c,a,c,a,b,d}; Union[origList] {a, b, c, d} elimDupes[origList] {b, c, a, d} Bob Hanlon Chantilly, VA USA