Re: list equation
- To: mathgroup at smc.vnet.net
- Subject: [mg121940] Re: list equation
- From: Adriano Pascoletti <adriano.pascoletti at uniud.it>
- Date: Fri, 7 Oct 2011 04:44:52 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201110060824.EAA22708@smc.vnet.net>
In[1]:= lst = Tuples[Range[100], 2]; In[9]:= Timing[lstnew = Union[lst, SameTest -> (#1 == Reverse[#2] & )]; ] Out[9]= {39.09032700000002, Null} Faster In[10]:= Timing[lstnew1 = DeleteDuplicates[Sort /@ lst]; ] Out[10]= {0.008493999999998891, Null} In[11]:= lstnew === lstnew1 Out[11]= True Much faster In[12]:= Timing[lstnew1 = (Sequence @@ Thread[{#1, Range[#1, 100]}] & ) /@ Range[100]; ] Out[12]= {0.003968000000000416, Null} In[13]:= lstnew1 === lstnew Out[13]= True Adriano Pascoletti 2011/10/6 dimitris <dimmechan at yahoo.com> > Hello to all. > > Let > > lst = Tuples[Range[100], 2]; > > In the previous list appear elements such us {x,y} and {y,x}. (e.g. > {3,4} and {4,3}). > I want to create a new list with {y,x} dropped (that is, in the new > list appears only {3,4} > and not {4,3}). > > I use > > lstnew = Union[lst, SameTest -> (#1 == Reverse[#2] &)] > > However it is needed almost 150 sec for this procedure ($Version->5.2 > for Windows) > I know that my laptop is too old but I guess there is a more efficient > way to > create lstnew. > > Any ideas? > > Thanks a lot > > Dimitris > >
- References:
- list equation
- From: dimitris <dimmechan@yahoo.com>
- list equation