Re: Does Union[] reliably sort?
- To: mathgroup at smc.vnet.net
- Subject: [mg123679] Re: Does Union[] reliably sort?
- From: David Bailey <dave at removedbailey.co.uk>
- Date: Thu, 15 Dec 2011 04:55:15 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <jca06e$a35$1@smc.vnet.net>
On 14/12/2011 11:10, Michael Stern 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 Sorting is part of the operation, and you can rely on the result being sorted. Mathematica obviously uses the most efficient way to perform the Union operation, which is to sort the entire set of elements, and then perform a scan through the elements, discarding adjacent duplicates. David Bailey http://www.dbaileyconsultancy.co.uk
- Follow-Ups:
- Re: reliably sort?
- From: DrMajorBob <btreat1@austin.rr.com>
- Re: reliably sort?
- From: DrMajorBob <btreat1@austin.rr.com>
- Re: reliably sort?
- From: Ulrich Arndt <ulrich.arndt@data2knowledge.de>
- Re: reliably sort?