明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1295|回复: 2

[函数] 嵌套表如何转成级别一致的表

[复制链接]
发表于 2013-10-22 10:13 | 显示全部楼层 |阅读模式
10明经币
( ((16 24) (16 16) <图元名: 7ef7e850>)
  ((32 16) (32 8) <图元名: 7ef7e838>)
  (((24 16) (16 16) <图元名: 7ef7e830>)
    ((24 16) (24 8) <图元名: 7ef7e830>)
  )
  (((16 8) (24 8) <图元名: 7ef7e828>)
    ((16 8) (8 8) <图元名: 7ef7e828>)
    ((16 8) (16 16) <图元名: 7ef7e828>)
  )
  (((8 16) (16 16) <图元名: 7ef7e820>)
    ((8 16) (8 8) <图元名: 7ef7e820>)
  )
  ((0 16) (0 8) <图元名: 7ef7e818>)
)

如何变成
( ((16 24) (16 16) <图元名: 7ef7e850>)
  ((32 16) (32 8) <图元名: 7ef7e838>)
  ((24 16) (16 16) <图元名: 7ef7e830>)
  ((24 16) (24 8) <图元名: 7ef7e830>)
  ((16 8) (24 8) <图元名: 7ef7e828>)
  ((16 8) (8 8) <图元名: 7ef7e828>)
  ((16 8) (16 16) <图元名: 7ef7e828>)
  ((8 16) (16 16) <图元名: 7ef7e820>)
  ((8 16) (8 8) <图元名: 7ef7e820>)
  ((0 16) (0 8) <图元名: 7ef7e818>)
)

也就是说将表的级别降至”一个表“的程度
函数最好有通用性,例子中”一个表“中包含三个小元素。

最佳答案

查看完整内容

(apply 'append (mapcar '(lambda (x) (if (vl-every 'listp x) x (list x))) Lst))
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-10-22 10:13 | 显示全部楼层
(apply 'append (mapcar '(lambda (x) (if (vl-every 'listp x) x (list x))) Lst))

点评

牛!!ET破解有没有新的东西给大家呀?  发表于 2013-10-22 11:38
回复

使用道具 举报

 楼主| 发表于 2013-10-22 11:31 | 显示全部楼层
nzl1116 发表于 2013-10-22 10:13
(apply 'append (mapcar '(lambda (x) (if (vl-every 'listp x) x (list x))) Lst))

我在数据生成的过程中避免出现这种格式的表,所以问题也算解决,你的这种方案我会测试一下,你的代码太精简了,牛!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-28 22:47 , Processed in 0.290077 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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