Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Sortieren einer Liste

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   Sortieren einer Liste (870 mal gelesen)
axeld
Mitglied
Projektingenieur/CAD-Administrator


Sehen Sie sich das Profil von axeld an!   Senden Sie eine Private Message an axeld  Schreiben Sie einen Gästebucheintrag für axeld

Beiträge: 267
Registriert: 18.11.2002

erstellt am: 10. Mrz. 2003 15:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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




Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4131
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 10. Mrz. 2003 15:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für axeld 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von axeld an!   Senden Sie eine Private Message an axeld  Schreiben Sie einen Gästebucheintrag für axeld

Beiträge: 267
Registriert: 18.11.2002

erstellt am: 10. Mrz. 2003 15:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke. Ich arbeite mit M6, da ist es möglich.

------------------
Axel

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

mkl-cad
Mitglied
Technischer Zeichner


Sehen Sie sich das Profil von mkl-cad an!   Senden Sie eine Private Message an mkl-cad  Schreiben Sie einen Gästebucheintrag für mkl-cad

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für axeld 10 Unities + Antwort hilfreich

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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2019 CAD.de | Impressum | Datenschutz