明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1016|回复: 5

[提问] 如何统计表里的重复数据?

[复制链接]
发表于 2023-10-4 21:18:42 | 显示全部楼层 |阅读模式
大佬们,如何统计表里的重复数据?

假设有这么一个表(500 500 200 300 400 600 600 400 200
我想把它变成((500 2)(200 2)(300 1)(400 2)(600 2))
就是,统计里面有多少重复的数值,然后再形成一个表。
有没有办法实现?
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2023-10-4 21:34:06 | 显示全部楼层
发表于 2023-10-5 09:55:34 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2023-10-5 20:23:15 | 显示全部楼层
  1. ;; (abc'(500 500 200 300 400 600 600 400 200))
  2. (defun abc (lst / a n1 n2 tmp)
  3.   (while (setq a (car lst))
  4.     (setq n1  (length lst)
  5.           lst (vl-remove-if '(lambda (x) (equal x a)) lst)
  6.           n2  (length lst)
  7.           tmp (cons (list a (- n1 n2)) tmp)
  8.     )
  9.   )
  10.   (reverse tmp)
  11. )
 楼主| 发表于 2023-10-5 20:59:59 | 显示全部楼层

院长,为什么最后要(reverse tmp)倒置一下呢?
 楼主| 发表于 2023-10-5 21:17:47 | 显示全部楼层

试了一下,明白了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-17 07:25 , Processed in 0.168696 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表