Re: Sorting a list of symbols
- To: mathgroup at smc.vnet.net
- Subject: [mg116854] Re: Sorting a list of symbols
- From: Bill Rowe <readnews at sbcglobal.net>
- Date: Wed, 2 Mar 2011 04:36:08 -0500 (EST)
On 3/1/11 at 5:22 AM, mathematicauser1 at yahoo.com (Robert Wright)
wrote:
>Is there a way of sorting a list of symbols like {v1, v2, v3, v10,
>v4} such that it gives {v1, v2, v3, v4, v10} and not the Mathematica
>default of {v1,v10, v2,v3, v4}? I am trying to avoid using the
>obvious solution of {v01, v02, v03, v04, v10}!
Yes, it is possible to do this. For example,
In[14]:= list = {v1, v2, v3, v10, v4};
Sort[list, Less @@ ToExpression[StringDrop[ToString@#, 1] & /@
{##}] &]
Out[15]= {v1,v2,v3,v4,v10}
or in a similar vein
In[16]:= list[[Ordering[
ToExpression[StringDrop[ToString@#, 1] & /@ list]]]]
Out[16]= {v1,v2,v3,v4,v10}