Re: Re: How to select unique elements in a list?
- To: mathgroup at smc.vnet.net
- Subject: [mg8434] Re: [mg8348] Re: How to select unique elements in a list?
- From: Joze Korelc <jkorelc at gringo.fagg.uni-lj.si>
- Date: Sat, 30 Aug 1997 00:42:43 -0400
- Sender: owner-wri-mathgroup at wolfram.com
Nigel King wrote:
>
> In article <5rmq5u$po1 at smc.vnet.net>,
> crose at c2.telstra-mm.net.au (Colin Rose) wrote:
>
> >"Carl Woll" <carlw at u.washington.edu> wrote:
> >
> > First, let me say that Union does not do what I'm looking for! I am
> > interested in a function which returns the unique elements from a list.
> > Let's call the function Distinct. Then, I want
> >
> > Distinct[{i1,i2,i3,i2}] to return {i1,i3}
> >
> > RemoveDuplicates[a___,i_,i_,b___]:=RemoveDuplicates[a,b]
> > Distinct[a_List]:=List@@RemoveDuplicates@@Sort[a]
>
> I am not sure that people have noticed in this that the removal above does
> not remove odd numbers of duplicates
>
> In[19]:=Distinct[{1,2,2,2,3}]
> Out[19]={1,2,3}
>
> any solutions? As noticed pattern matching is not easy!
>
> Nigel King
> Northern Telecom
Here is a nice and fast solution ...
Distinct=Cases[Split[Sort[#]],{i_}:>i]&
Joze Korelc
========================================================================
Joze Korelc
University of Ljubljana Institut of Mechanics 4
Faculty of Civil Engng. and Geodesy Hochschulstrasse 1
Jamova 2, SI-1000,Ljubljana DE-64289 Darmstadt
Slovenia Germany
Phone:+386 61-1768623 Fax: +386 61-1250681
E-Mail: jkorelc at gringo.fagg.uni-lj.si