From: Sam S. <sd...@gn...> - 2001-10-27 15:36:46
|
> * In message <B4C...@pe...> > * On the subject of "[clisp-list] Remove duplicates from a complex list" > * Sent on Sat, 27 Oct 2001 09:27:40 -0500 > * Honorable "Justice, Randy -CONT\(DYN\)" <Ran...@cn...> writes: > > I'm trying to remove duplicates from a list. CLHS has DELETE-DUPLICATES and REMOVE-DUPLICATES > (defun noduplicates (list) > (let ((set ())) > (mapc #'(lambda (x) > (setq set (adjoin x set :test #'equal))) > list) > set)) > (setq z '((#3A(((3 4 0) (1 3 2) (1 3 2)) > ((1 0 4) (4 0 0) (4 3 1)) > ((2 1 0) (0 1 1) (0 3 3))) > (0 1915)) > (#3A(((0 2 1) (3 3 4) (3 4 0)) > ((1 3 2) (3 3 1) (0 2 2)) > ((3 1 4) (0 2 2) (1 4 1))) > (0 1917)) read about EQ, EQL, EQUAL and EQUALP in CLHS. (equal #(1 2 3) #(1 2 3)) ==> nil (equalp #(1 2 3) #(1 2 3)) ==> t -- Sam Steingold (http://www.podval.org/~sds) Keep Jerusalem united! <http://www.onejerusalem.org/Petition.asp> Read, think and remember! <http://www.iris.org.il> <http://www.memri.org/> Parachute for sale, once used, never opened, small stain. |