6
正如nazdrovje(見here)所指出的,[email protected]
可用於獲得列表中每個元素的排名。即使當列表包含重複元素時,結果也是 - 精確性(作爲無重複的整數1到n的有序列表),其中最低排列的元素被指定爲1,第二低的元素等被指出通過Andrzej Kozlowski,下式成立(也參見here):Ordering @ Ordering and Ranking排列
([email protected])[[[email protected]@mylist]]==mylist
我想以產生排名置換其中最高排名元素被分配1,第二最高 2等,使得以下成立:
([email protected]@mylist)[[newPermutation]]==mylist
這似乎很簡單,但我只能想出一個相當尷尬的解決方案。目前我執行以下操作:
newPermutation= [email protected][[email protected]@mylist,All,Greater]
有沒有更優雅或更直觀的方法?肯定有?
一個例子:
mylist= {\[Pi],"abc",40,1, 300, 3.2,1};
[email protected]@mylist
[email protected][[email protected]@mylist,All,Greater]
輸出(注排列之間的相互關係)
{7,6,4,1,5,3,2}
{1,2,4,7,3,5,6}
(以下兩項評估爲True)
[email protected])[[[email protected]@mylist]]== mylist
[email protected]@mylist)[[ [email protected][[email protected]@mylist,All,Greater]]]== mylist
這是非常好的!謝謝。我在辯論是否發佈這個問題,因爲我確實有過各種解決方案。我很高興現在我做了。 – tomd 2011-01-20 11:05:01