本帖最后由 vitalgg 于 2023-4-24 09:03 编辑
- (setq lst '((B 3) (A 1) (B 4) (C 9) (A 6) (B 1)(D 6)))
- (setq lst (vl-sort lst '(lambda (x y)(< (vl-symbol-name (car x))(vl-symbol-name(car y))))))
- (setq res (list:group-by lst '(lambda (x y)(= (car x)(car y)))))
- ;; 第一个要求
- (setq res1 (vl-remove-if-not '(lambda (x)(> (length x) 1)) res))
- ;; 第二个要求
- (setq res2 (mapcar 'car (vl-remove-if-not '(lambda (x)(= (length x) 1)) res)))
;; 将 res 中长度大于1 的为你的第一个要求,等于1的为你的第二个要求
https://gitee.com/atlisp/atlisp-lib
@lisp 开源函数库,大量函数期待您的开发与维护。众多开发者协同开发与维护,你不再是一个人在战斗。
在CAD中执行
(@:updatelib)
实时更新函数库。
本贴函数 list:group-by 源码注意目录结构 函数组list 函数名 group-by)
https://gitee.com/atlisp/atlisp- ... c/list/group-by.lsp |