MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Sort problem


konstantpi at mail15.com wrote:
> Hi
> How to sort two lists such as:
> age={30,12,60,20};
> pple={"john","kate","peter","alice"};
> 
> to give the output:
> age={12,20,30,60}
> pple={"kate","alice","john","peter"}
> 
> ie: to keep every person opposite his age number.
> thanks

Combine the two lists into one list of pairs:

In[1]:= data = Transpose[{age, pple}]
Out[1]= {{30, john}, {12, kate}, {60, peter}, {20, alice}}

Then sort by comparing only the first part of each element:

In[1]:= Sort[data, First[#1] < First[#2] &]
Out[1]= {{12, kate}, {20, alice}, {30, john}, {60, peter}}

The extract the ages and people:

In[1]:= {age, pple} = {First /@ data, Last /@ data}
Out[1]= {{30, 12, 60, 20}, {john, kate, peter, alice}}

-- 
Dr Jon D Harrop, Flying Frog Consultancy
http://www.ffconsultancy.com


  • Prev by Date: Re: Re: (x-y) DiracDelta[x-y] does not simplify to 0
  • Next by Date: Re: Simplifying Jacobian elliptic functions
  • Previous by thread: Re: Sort problem
  • Next by thread: Re: Sort problem