ynhh 发表于 2014-3-4 15:50:48

提取表中重复的内容及重复次数

如何提取表中重复的内容及重复次数

(setq b '(1 22 3 4 5 5 5 5 6 7 8 9 0 ))

得到 2 重复 2 次,5 重复 4 次

论坛中 highflybir 大量骨 删除表中重复的元素

但就是找不到提取重复元素的啊

请教各位大师能不能出手指点一下啊

gdslqs 发表于 2014-3-4 17:41:23

临时写的,未经严格测试
;by明经gdslqs 2014-3-4
(defun test (lst / len1 len2 a lst i ret)
   (while lst
   (setq a (car lst)
         len1 (length lst)
         lst (vl-remove a lst)
         len2 (length lst)
         i (- len1 len2)
   )
   (if (> i 1)
         (setq ret (cons (list a i) ret))
   )
   )
(reverse ret)
)

(test '(1 22 3 4 5 5 5 5 6 7 8 9 0 ))=((2 2) (5 4))

xyp1964 发表于 2014-3-4 18:34:56

(setq b '(1 2 2 3 4 5 5 5 5 6 7 8 9 0))
(setq c (xyp-List-CountSub b))

'((1 1) (2 2) (3 1) (4 1) (5 4) (6 1) (7 1) (8 1) (9 1) (0 1))

ynhh 发表于 2014-3-20 11:03:42

gdslqs 发表于 2014-3-4 17:41 static/image/common/back.gif
临时写的,未经严格测试
;by明经gdslqs 2014-3-4
(defun test (lst / len1 len2 a lst i ret)


你写的很好,感谢你的热心帮助

xujinhua 发表于 2014-3-20 22:29:08

学到东西了...谢谢

434939575 发表于 2014-9-1 11:13:43

都是高手。感谢!

我来看MM的 发表于 2014-9-1 18:17:41

页: [1]
查看完整版本: 提取表中重复的内容及重复次数