zum Zählen kann ich dir das anbieten :
(defun ZAEHLLIST (LISTE / A L E )
(while (=(type LISTE)'LIST)
(setq L (length LISTE))
(setq A (car LISTE))
(setq E (cons (cons A (- L (length(setq LISTE(vl-remove-if '(lambda(X) (equal X A)) LISTE))))) E))
)
E
)
liefert dir dann (("D" . 1) ("C" . 1) ("B" . 2) ("A" . 3)))
Die Ergebnisliste ist noch zu sortieren -> Quicksort .. aber nicht mehr heute
d.h. wenn die Listen Element nur Buchstaben sind :
so :
(defun ZAEHLLIST (LISTE / A L E )
(setq LISTE(acad_strlsort LISTE))
(while (=(type LISTE)'LIST)
(setq L (length LISTE))
(setq A (car LISTE))
(setq E (cons (cons A (- L (length(setq LISTE(vl-remove-if '(lambda(X) (= X A)) LISTE))))) E))
)
(reverse E)
)
Als Ergänzung vielleicht noch das
------------------
- Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
[Diese Nachricht wurde von CADmium am 14. Jan. 2005 editiert.]
[Diese Nachricht wurde von CADmium am 30. Mai. 2005 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP