Hallo,
ich habe mir 2 Listen erzeugt. Nun möchte ich aus den Teilen der Listen, die nicht in beiden Listen vorkommen eine neue Liste erstellen.
Liste 1:
("FS_Richtungspfeil_unten" "FS_Richtungspfeil_oben" "FS_Standort2"
"FS_Richtungspfeil_rechts" "FS_Rettungsweg_rechts" "FS_Richtungspfeil_links"
"FS_Rettungsweg_links" "FS_Augenspüleinrichtung" "FS_Erste_Hilfe")
Liste 2:
("FS_Richtungspfeil_unten" "FS_Richtungspfeil_oben" "FS_Standort2"
"FS_Richtungspfeil_rechts" "FS_Rettungsweg_rechts" "FS_Richtungspfeil_links"
"FS_Rettungsweg_links")
Ergebnis soll:
("FS_Augenspüleinrichtung" "FS_Erste_Hilfe")
Kann mir jemand sagen wie ich eine solche Liste mit Lisp erstellen kann?
Danke cadking
neue Liste aus 2 bestehenden Listen
-
- Newbie
- Beiträge: 5
- Registriert: Di 16. Nov 2004, 17:39
- Wohnort: 63110 Rodgau
- Kontaktdaten:
- toshni
- Newbie
- Beiträge: 9
- Registriert: Sa 2. Jan 2010, 18:20
- Kontaktdaten:
Re: neue Liste aus 2 bestehenden Listen
Code: Alles auswählen
;;;------------------------------------------------------------------------------------------------
;;; Programm: CADKING
;;; Funktion: Erstellt aus zwei Listen eine neue. Diese enthält nur Werte die NICHT in beiden
;;; Listen vorkommten.
;;; Author: Thomas Schnitzler (c) 2013
;;; Beispiel: lst1 (1 2 3), lst2 (2 3 4) => lst0 (1 4)
;;;------------------------------------------------------------------------------------------------
(DEFUN c:cadking (/ lst0 lst1 lst2)
(SETQ lst0 '()
lst1 (LIST "FS_Richtungspfeil_unten" "FS_Richtungspfeil_oben"
"FS_Standort2" "FS_Richtungspfeil_rechts"
"FS_Rettungsweg_rechts" "FS_Richtungspfeil_links"
"FS_Rettungsweg_links" "FS_Augenspüleinrichtung"
"FS_Erste_Hilfe"
)
lst2 (LIST "FS_Richtungspfeil_unten" "FS_Richtungspfeil_oben"
"FS_Standort2" "FS_Richtungspfeil_rechts"
"FS_Rettungsweg_rechts" "FS_Richtungspfeil_links"
"FS_Rettungsweg_links"
)
)
(FOREACH itm1 lst1
(IF (NOT (MEMBER itm1 lst2))
(SETQ lst0 (APPEND lst0 (LIST itm1)))
)
)
(FOREACH itm2 lst2
(IF (NOT (MEMBER itm2 lst1))
(SETQ lst0 (APPEND lst0 (LIST itm2)))
)
)
lst0
)