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