Re: reliably sort?
- To: mathgroup at smc.vnet.net
- Subject: [mg123698] Re: reliably sort?
- From: Andy Ross <andyr at wolfram.com>
- Date: Fri, 16 Dec 2011 05:43:51 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201112141102.GAA10230@smc.vnet.net> <201112150953.EAA22876@smc.vnet.net>
Personally I prefer DeleteDuplicates for this. At least for packed arrays it tends to be about twice as fast. For arbitrary arrays it can be many times faster (though I'm sure instances could be found where it loses). In[28]:= data = RandomChoice[{"A", "B", "C"}, 10^7]; In[29]:= DeleteDuplicates[data] // AbsoluteTiming Out[29]= {0.609038, {"B", "A", "C"}} In[30]:= Tally[data][[All, 1]] // AbsoluteTiming Out[30]= {2.946952, {"B", "A", "C"}} -Andy On 12/15/2011 3:53 AM, DrMajorBob wrote: > Union always sorts in "canonical order". > > If you want unsorted order: > > Tally[Join[max,mins]][[All,1]] > > Bobby > > On Wed, 14 Dec 2011 05:02:50 -0600, Michael Stern<nycstern at gmail.com> > wrote: > >> I have noticed that if combine two lists of date/data objects using >> Union[], the result is sorted by date. >> >> For example >> >> In[]:= mins={{{2001, 1, 31}, 0.993268}, {{2002, 3, 31}, 1.01395}, >> {{2003, 6, 30}, >> 1.08647}, {{2005, 11, 30}, 1.14752}, {{2006, 9, 30}, >> 1.18938}, {{2007, 2, 28}, 1.19658}, {{2008, 1, 31}, >> 1.20432}, {{2011, 1, 31}, 1.37501}}; >> In[]:= maxs={{{2000, 10, 31}, 1.01816}, {{2001, 12, 31}, 1.02714}, >> {{2004, 2, 29}, >> 1.12702}, {{2005, 3, 31}, 1.16986}, {{2010, 10, 31}, 1.39026}}; >> >> In[]:= Union[maxs, mins] >> >> Out[]= {{{2000, 10, 31}, 1.01816}, {{2001, 1, 31}, >> 0.993268}, {{2001, 12, 31}, 1.02714}, {{2002, 3, 31}, >> 1.01395}, {{2003, 6, 30}, 1.08647}, {{2004, 2, 29}, >> 1.12702}, {{2005, 3, 31}, 1.16986}, {{2005, 11, 30}, >> 1.14752}, {{2006, 9, 30}, 1.18938}, {{2007, 2, 28}, >> 1.19658}, {{2008, 1, 31}, 1.20432}, {{2010, 10, 31}, >> 1.39026}, {{2011, 1, 31}, 1.37501}} >> >> Is this reliable behavior? Is there any case in which Union would /not/ >> return results that have been properly sorted by date? >> >> Thank you, >> >> -Michael Stern >
- References:
- Does Union[] reliably sort?
- From: Michael Stern <nycstern@gmail.com>
- Re: reliably sort?
- From: DrMajorBob <btreat1@austin.rr.com>
- Does Union[] reliably sort?