Re: Sorting
- To: mathgroup at smc.vnet.net
- Subject: [mg22082] Re: [mg22067] Sorting
- From: Andrzej Kozlowski <andrzej at platon.c.u-tokyo.ac.jp>
- Date: Sun, 13 Feb 2000 01:14:00 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
on 00.2.12 6:04 PM, Wagner Truppel at wtruppel at uci.edu wrote:
> Hi folks,
>
> can anyone tell me how I can make Mathematica sort variable names
> without sorting any numbers within those variables as strings as
> well? If you try Sort[{z2,a5,z10}] you get back {a5,z10,z2}, while I
> want to get back {a5,z2,z10}.
>
> Thanks.
> Wagner Truppel
> wtruppel at uci.edu
>
The following is probably not nor most efficient way to do this but it seems
to work:
mysort[l_List] :=
Block[{a, x},
Map[ToExpression,
Map[StringJoin,
Map[ToString,
Sort[Map[ToExpression,
Map[Characters[ToString[#]] &, l], {-1}] /. {a_Symbol,
x__?NumberQ} -> {a, {x}}], {-1}]]]]
In[6]:=
mysort[{a3, z5, z17, a9, b19, b7}]
Out[6]=
{a3, a9, b7, b19, z5, z17}
while
In[8]:=
Sort[{a3, z5, z17, a9, b19, b7}]
Out[8]=
{a3, a9, b19, b7, z17, z5}
--
Andrzej Kozlowski
Toyama International University
Toyama, Japan
http://sigma.tuins.ac.jp/