2016-12-07 17 views
0

Ich versuche, die Elemente der folgenden Liste zu sortieren, indem das dritte Element jedes sublist mit:Liste sortieren von Unterlisten in Lisp

((v 1 a) (v 3 d) (v 6 b) (v 2 c)) 

So sollte das Ergebnis sein:

((v 1 a) (v 6 b) (v 2 c) (v 3 d)) 

Ich habe etwas wie dieses versucht:

(sort (copy-seq my-list) #'> :key (lambda (x) (third (car x)))) 

aber es funktioniert nicht wirklich und ich bin mir nicht sicher, wie ich das tun soll.

Antwort

4
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)) 
+0

Es funktioniert gut so! Vielen Dank! –

Verwandte Themen