|
|
Re: sorting?
Posted:
Jan 28, 2013 2:24 AM
|
|
Works perfect Albert, thanks! Francisco
From: awnl <awnl@gmx-topmail.de> Sent: Saturday, January 26, 2013 4:59 PM Subject: Re: sorting?
Hi,
> I have a large list of simple numerical lists, and I want to sort it > using two criteria. in the simplest case, suppose the sublists are of > length two, and that my first criterion is the quotient of part one > by part two, and my second criterion is the size of part two (no > zeros in part 2. I want to sort using the first criterion, and then > break the ties using the second one. So for example if I had > lalista={{0,5},{8,8},{2,2},{3,5},{1,3},{3,9}}, the sorting should > return
> {{8,8},{2,2},{3,5},{3,9},{1,3},{0,5}}
> Of course this can be done, but I wonder if it is a way to make this > only with native Mathematica tools (wich is always far more > efficient).
I think you are looking for SortBy, which can be given a list of pure functions to define the sorting, e.g. like this (the minus signs reverse the sorting so I get what you want, it might need adoption depending on what you really want...):
SortBy[lalista, {-#[[1]]/#[[2]] &, -#[[2]] &}]
hth,
albert
|
|