本帖最后由 作者 于 2004-8-28 20:37:39 编辑
 - (defun tt (lst / nlst alst lst2 len)
- (setq lst2 lst)
- (foreach n lst
- (setq len (length lst2))
- (if (not(member n nlst))
- (setq lst2 (vl-remove n lst2)
- nlst (cons n nlst)
- alst (cons (- len (length lst2)) alst)
- )
- )
- )
- (reverse (mapcar 'list nlst alst))
- )
(setq lst '(1 2 3 4 3 4 5 2 3 5 1 3 2 1 ))
(tt lst) -> ((1 3) (2 3) (3 4) (4 2) (5 2)) 再改一下: -
- (defun tt (lst / n len nlst alst)
- (while lst
- (setq n (car lst)
- len (length lst)
- nlst (cons n nlst)
- lst (vl-remove n lst)
- alst (cons (- len (length lst)) alst))
- )
- (reverse (mapcar 'list nlst alst))
- )
|