如何统计表里的重复数据?
大佬们,如何统计表里的重复数据?假设有这么一个表(500 500 200 300 400 600 600 400 200)
我想把它变成((500 2)(200 2)(300 1)(400 2)(600 2))
就是,统计里面有多少重复的数值,然后再形成一个表。
有没有办法实现?
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=108581&highlight=%D6%D8%B8%B4%2B%B1%ED
已解决,感谢前辈们
;; (abc'(500 500 200 300 400 600 600 400 200))
(defun abc (lst / a n1 n2 tmp)
(while (setq a (car lst))
(setq n1(length lst)
lst (vl-remove-if '(lambda (x) (equal x a)) lst)
n2(length lst)
tmp (cons (list a (- n1 n2)) tmp)
)
)
(reverse tmp)
)
xyp1964 发表于 2023-10-5 20:23
院长,为什么最后要(reverse tmp)倒置一下呢? xyp1964 发表于 2023-10-5 20:23
试了一下,明白了
页:
[1]