Сортировать список подсписков в lisp
Я пытаюсь отсортировать элементы следующего списка, используя третий элемент каждого подсписка:
((v 1 a) (v 3 d) (v 6 b) (v 2 c))
Итак, результат должен быть:
((v 1 a) (v 6 b) (v 2 c) (v 3 d))
Я пробовал что-то вроде этого:
(sort (copy-seq my-list) #'> :key (lambda (x) (third (car x))) )
но это на самом деле не работает, и я не уверен, как мне это сделать.
1 ответ
CL-USER 15 > (sort (copy-seq '((v 1 a) (v 3 d) (v 6 b) (v 2 c)))
#'string<
:key #'third)
((V 1 A) (V 6 B) (V 2 C) (V 3 D))