明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1687|回复: 2

串列组合请教

[复制链接]
发表于 2012-3-29 21:37:05 | 显示全部楼层 |阅读模式
请给位大大们帮咱处理下:
( ("A" "01" "1" "2") ("A" "01" "3" "4") ("A" "01" "5" "6") ("B" "01" "1" "2") ("B" "01" "3" "4") ("B" "01" "5" "6") ("C" "01" "1" "2") ("C" "01" "3" "4") ("C" "01" "5" "6") ) 保留前两位相同的字串,后两位重新组合,结果如下:
( ("A" "01" "1 2 3 4") ("B" "01" "1 2 3 4") ("C" "01" "1 2 3 4") )
求解,谢谢。

发表于 2012-3-29 22:13:37 | 显示全部楼层
  1. (setq l        '(("A" "01" "1" "2")
  2.           ("A" "01" "3" "4")
  3.           ("A" "01" "5" "6")
  4.           ("B" "01" "1" "2")
  5.           ("B" "01" "3" "4")
  6.           ("B" "01" "5" "6")
  7.           ("C" "01" "1" "2")
  8.           ("C" "01" "3" "4")
  9.           ("C" "01" "5" "6")
  10.          )
  11. )
  12. (defun countitem (l / rtn flag a)
  13.   (while l
  14.     (setq a (car l)
  15.           l (cdr l)
  16.     )
  17.     (setq
  18.       flag (vl-some
  19.              '(lambda (X)
  20.                 (if (and (= (car a) (car x)) (= (cadr a) (cadr x)))
  21.                   (setq rtn (subst (append x (cddr a)) x rtn))
  22.                 )
  23.               )
  24.              rtn
  25.            )
  26.     )
  27.     (if        (not flag)
  28.       (setq rtn (cons a rtn))
  29.     )
  30.   )
  31.   (setq rtn (reverse rtn))
  32.   (mapcar '(lambda (x / b)
  33.              (list (car x)
  34.                    (cadr x)
  35.                    (foreach n (cddr x)
  36.                      (if b
  37.                        (setq b (strcat b " " n))
  38.                        (setq b n)
  39.                      )
  40.                    )
  41.              )
  42.            )
  43.           rtn
  44.   )
  45. )
 楼主| 发表于 2012-3-29 22:23:50 | 显示全部楼层
谢谢Gu_xl 版主,帮助咱的速度大大出乎意料,明经正是有你们才会如此精彩。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-25 04:46 , Processed in 0.147696 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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