CADghost 发表于 2004-8-27 20:52:00

重复数据合并的问题

一个表(1 2 3 4 3        4 5 2 3 5 1 3 2 1 )


怎么自动找出一样的数据,变成


(1=3 2=3 3=4 4=2 5=2)

王咣生 发表于 2004-8-27 21:41:00

回复

;;; return:       ((1 3) (2 3) (3 4) (4 2) (5 2))





BDYCAD 发表于 2004-8-28 08:34:00

这些都应用在什么地方去了?

王咣生 发表于 2004-8-28 09:46:00

回复

我也不知道CADghost 用在什么地方.

CADghost 发表于 2004-8-28 11:47:00

我做了一个表(做着玩),数据太乱了,这样不是简单一些吗?

lockmyeye 发表于 2004-8-28 11:51:00

可用于类型统计

无痕 发表于 2004-8-28 20:12:00

本帖最后由 作者 于 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))
)

BDYCAD 发表于 2004-9-30 17:22:00

重復數據列表應該是如下方式所示吧


(       1       1       1       3       5       4 6 )                                       ====>               (1       1       1       )

CADghost 发表于 2004-10-1 09:18:00

(setq lst '(1 2 3 4 3 4 5 2 3 5 1 3 2 1 ))<BR>(tt lst) -&gt; ((1 3) (2 3) (3 4) (4 2) (5 2))

无痕 发表于 2004-10-1 09:28:00

返回是 (( 原表元素1 重复数)( 原表元素2         重复数)...)
页: [1] 2
查看完整版本: 重复数据合并的问题