嵌套表如何转成级别一致的表
( ((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)) nzl1116 发表于 2013-10-22 10:13 static/image/common/back.gif
(apply 'append (mapcar '(lambda (x) (if (vl-every 'listp x) x (list x))) Lst))
我在数据生成的过程中避免出现这种格式的表,所以问题也算解决,你的这种方案我会测试一下,你的代码太精简了,牛!
页:
[1]