在常见的lisp中对子列表进行排序

use*_*521 4 lisp sorting common-lisp sublist

非常简单

有了这个,(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))才能让第二个列表排序?

sds*_*sds 6

我希望我能正确理解你的问题.

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

但是,您甚至不需要 lambda:

(cadar '(((A) 8)))
==> 8
Run Code Online (Sandbox Code Playgroud)

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