重复数据合并的问题
一个表(1 2 3 4 3 4 5 2 3 5 1 3 2 1 )怎么自动找出一样的数据,变成
(1=3 2=3 3=4 4=2 5=2)
回复
;;; return: ((1 3) (2 3) (3 4) (4 2) (5 2))这些都应用在什么地方去了?
回复
我也不知道CADghost 用在什么地方. 我做了一个表(做着玩),数据太乱了,这样不是简单一些吗? 可用于类型统计 本帖最后由 作者 于 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))
) 重復數據列表應該是如下方式所示吧
( 1 1 1 3 5 4 6 ) ====> (1 1 1 ) (setq lst '(1 2 3 4 3 4 5 2 3 5 1 3 2 1 ))<BR>(tt lst) -> ((1 3) (2 3) (3 4) (4 2) (5 2)) 返回是 (( 原表元素1 重复数)( 原表元素2 重复数)...)
页:
[1]
2