Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2001
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2001

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

Search the Archive

Re: Sorting and Selecting in MultiLevel Lists?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg31171] Re: [mg31163] Sorting and Selecting in MultiLevel Lists?
  • From: BobHanlon at aol.com
  • Date: Tue, 16 Oct 2001 01:18:46 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

In a message dated 2001/10/14 5:29:24 AM, siegman at stanford.edu writes:

>Suppose I want to Sort, or Select from, a multilevel list, e.g.
>
>        myList =  { {x1,y1},  {x2,y2},  {x3,y3}, . . . }
>
>with a Sort or Select criterion that's some function of the xn and yn values
>
>For example, I can sort the above list on the value of x^2 + y^2 by using
>
>    Sort[myList, (Take[#1, 1][[1]]^2 + Take[#1, 2][[1]]^2) < 
>                        (Take[#2, 1][[1]]^2 + Take[#2, 2][[1]]^2) &]
>
>Question:  Is there an easier way to get at the "x" and "y" values associated
>
>with the #1 and #2 arguments in Sort, or with the # argument in Select,
>than the 
>awkward   Take[#,m][[n]]   notation used here?
>

data = Table[{Random[], Random[]}, {10}];

You don't need the Take

Sort[data, #1[[1]]^2+#1[[2]]^2 < #2[[1]]^2+#2[[2]]^2&]

However, for the test used, you can write it more compactly as

Sort[data, #1.#1 < #2.#2&]


Bob Hanlon
Chantilly, VA  USA


  • Prev by Date: Re: Plot-Function
  • Next by Date: Re: Simplex visualization
  • Previous by thread: Re: Sorting and Selecting in MultiLevel Lists?
  • Next by thread: Re: Sorting and Selecting in MultiLevel Lists?