明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 851|回复: 7

[提问] 高手们,请教一下表处理

[复制链接]
发表于 2018-5-10 23:13:30 | 显示全部楼层 |阅读模式
如题(A B C) (B C) (A C) (B A C) (D E) (D) (A))  的表合并成'((A B C) (D E))  有办法实现吗?
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2018-5-11 13:03:19 | 显示全部楼层
先按照表长度排序,然后顺次去除较长的,遍历剩下的,如果元素全部在里面就删除。
之后重复操作
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-5-10 23:14:07 | 显示全部楼层
如题 '((A B C) (B C) (A C) (B A C) (D E) (D) (A))  的表合并成'((A B C) (D E))  有办法实现吗?
发表于 2018-5-11 05:56:23 来自手机 | 显示全部楼层
去重,留下第一次出现的位置?
发表于 2018-5-11 11:38:02 | 显示全部楼层
没看出来具体的变化规律,((A E C) (B C) (A D) (B A C) (D E) (D) (A)) 这种表,楼主想出现什么结果?
你说明白了需要,别人才好帮你。
 楼主| 发表于 2018-5-11 11:49:09 | 显示全部楼层
fl202 发表于 2018-5-11 11:38
没看出来具体的变化规律,((A E C) (B C) (A D) (B A C) (D E) (D) (A)) 这种表,楼主想出现什么结果?
你 ...

比如  '((1 2 3)(2 3)(3)(4 5 6)(4 6))-->>'((1 2 3)(4 5 6)) 表内出现有相同的元素都合并在一起
发表于 2018-5-11 13:22:36 | 显示全部楼层
本帖最后由 yxp 于 2018-5-11 13:23 编辑
qijun0818 发表于 2018-5-11 11:49
比如  '((1 2 3)(2 3)(3)(4 5 6)(4 6))-->>'((1 2 3)(4 5 6)) 表内出现有相同的元素都合并在一起

(setq L '((1 2 3)(2 3)(3)(4 5 6)(4 6)))    试试: (test L)
  1. (defun test(L / A)
  2. (foreach x L (if (null (apply 'or (mapcar '(lambda(y)(apply 'and (mapcar '(lambda(z)(member z y)) x)))(vl-remove x L))))(setq A (cons x A))))A
  3. )
 楼主| 发表于 2018-5-12 07:49:52 | 显示全部楼层
yxp 发表于 2018-5-11 13:22
(setq L '((1 2 3)(2 3)(3)(4 5 6)(4 6)))    试试:  (test L)

非常感谢大神的帮助
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-19 17:33 , Processed in 0.177851 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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