2013-03-22 128 views
4

非常簡單Common Lisp中

與此,(sort L #'> :key #'second)),我可以排序的子表,(((C) 1) ((D) 1) ((E) 1) ((F) 1) ((G) 1) ((H) 1) ((B) 3) ((A) 8))

但現在我要排序,((((A) 8)) (((B) 3)) (((C) 1)) (((D) 1)) (((E) 1)) (((F) 1)) (((G) 1)) (((H) 1)))

我需要做什麼,(sort L #'> :key #'second)),獲得第二個列表進行排序?

回答

6

我希望我能正確理解你的問題。

你需要的是:key (lambda (x) (second (car x)))

然而,you do not even needlambda

(cadar '(((A) 8))) 
==> 8 

所以:key #'cadar是你的朋友。

+0

現在排序正確。謝謝你,先生。 – user2127521 2013-03-22 02:20:56