Сортировать список подсписков в 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))
Другие вопросы по тегам