| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Sortieren einer Liste (1037 mal gelesen)
|
axeld Mitglied Projektingenieur/CAD-Administrator
Beiträge: 267 Registriert: 18.11.2002
|
erstellt am: 10. Mrz. 2003 15:04 <-- editieren / zitieren --> Unities abgeben:
Ich habe ein Problem mit der Sortierung einer Liste: (setq li (list (list 1 2 "D")(list 2 3 "Z")(list 5 6 "G"))) Ich möchte nun die Liste nach dem jeweils letzten Eintrag, hier also nach den Buchstaben sortieren. In den DOSLIB-Funktionen habe ich auch schon gesucht, aber nichts gefunden. Wer kann helfen? ------------------ Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 10. Mrz. 2003 15:27 <-- editieren / zitieren --> Unities abgeben: Nur für axeld
Hallo Axel, leider schreibst du nicht, mit welcher Acad-Version du arbeitest. Mit den VL-Befehlen, hast du eine solche Funktion zur Verfügung.
Code:
(setq li (list (list 1 2 "D")(list 2 3 "Z")(list 5 6 "G"))) (vl-sort li (function (lambda (e1 e2) (< (last e1) (last e2)))))
Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! Neue Tool's im Free-&Download Zugang zum Download schon gesichert? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
axeld Mitglied Projektingenieur/CAD-Administrator
Beiträge: 267 Registriert: 18.11.2002
|
erstellt am: 10. Mrz. 2003 15:53 <-- editieren / zitieren --> Unities abgeben:
|
| Konstrukteur für Anlagenbau / Rohrleitungsbau (m/w/d) | Menschen und Technologien zu verbinden, den Perfect Match für unsere Kunden zu gestalten, immer die richtigen Expert:innen für die jeweilige Herausforderung zu finden - das ist unser Anspruch bei FERCHAU und dafür suchen wir dich: als ambitionierte:n Mitarbeitende:n für einen unserer Kunden. Wir realisieren spannende Projekte für namhafte Kunden in allen Technologiebereichen und für alle Branchen und übernehmen Verantwortung für komplexe Entwicklungsprojekte.... | Anzeige ansehen | Konstruktion, Visualisierung |
|
mkl-cad Mitglied Technischer Zeichner
Beiträge: 378 Registriert: 23.07.2003 ACAD 2002 Express Tools 1-9 Architektural Desktop Windows XP Server Windows 2003 3 GHz Rechner 1 GB RAM 80 GB Festplatte ATI FireGL V3100 2 17" Flachbildschirme
|
erstellt am: 10. Feb. 2005 13:48 <-- editieren / zitieren --> Unities abgeben: Nur für axeld
Hab mal etwas weiter gebastelt: Beispiel für Listensortierung mit Wahl der Stelle nach der sortiert werden soll (setq li (sortier-n li 2))
(defun sortier-n (liste nr / e1 e2) ; (setq nr (- nr 1)) je nach belieben da 0 die erste Stelle der Liste ist (vl-sort liste (function (lambda (e1 e2) (< (nth nr e1) (nth nr e2))))) )
------------------ Martin Viele Grüße aus dem schönen Münsterland! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |