明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 630|回复: 3

[讨论] 怎样求出出现次数最多的字符?

[复制链接]
发表于 2015-5-25 19:08 | 显示全部楼层 |阅读模式

怎样求出出现次数最多的字符?
比如,我建立一个字符串选择集,如何求出字符串选择集中出现频率最高的字符串?
谢谢!
发表于 2015-5-25 21:32 | 显示全部楼层
  1. (defun c:tt(/ ss e a b l)
  2.   (if (setq ss (ssget '((0 . "text"))))
  3.     (progn
  4.       (repeat (setq n (sslength ss))
  5.         (setq e (entget(ssname ss (setq n (1- n)))))
  6.         (if (setq a (assoc (cdr (setq b (assoc 1 e))) l))
  7.           (setq l (subst (cons (car a) (1+ (cdr a))) a l))
  8.           (setq l (cons (cons (cdr b) 1) l))
  9.           )
  10.         )
  11.       (setq l (vl-sort l '(lambda (a b) (> (cdr a) (cdr b)))))
  12.       (princ(VL-PRIN1-TO-STRING l))
  13.       )
  14.     )
  15.   (princ)
  16.   )
 楼主| 发表于 2015-5-25 22:38 | 显示全部楼层
感谢。没想到这么快就回了!研究研究!谢谢!
发表于 2015-5-26 08:31 | 显示全部楼层
  1. (setq lst '("1" "2" "3" "2" "2" "2" "3" "4"))
  2. (setq len (mapcar '(lambda(x) (length (vl-remove x lst))) lst))
  3. (setq l-m (apply 'min len))
  4. (nth (- (length lst) (length (member l-m len))) lst)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 15:04 , Processed in 0.499054 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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