0
排序列表的名單上有這種形式的列表的列表:在口齒不清
testlist((a 22) (b 2) (c 5))
我的目標是基於排序上的數字值(5個第一最大值)testlist。有沒有辦法實現這一點,而不必迭代列表並相互比較數字?
排序列表的名單上有這種形式的列表的列表:在口齒不清
testlist((a 22) (b 2) (c 5))
我的目標是基於排序上的數字值(5個第一最大值)testlist。有沒有辦法實現這一點,而不必迭代列表並相互比較數字?
在ANSI Common Lisp的:
(sort (copy-list '((a 22) (b 2) (c 5))) #'< :key #'second)
-> ((B 2) (C 5) (A 22))
的copy-list
有沒有因爲sort
則會覆蓋輸入列表中。我們需要這樣做,因爲我們的輸入列表是一個文字,但即使不是,有時您也不想打亂您想要排序的原始對象。