yaojing38 发表于 2023-3-7 16:38:14

如何替换表中元素,,求助!!

lst'((224 . <图元名: -147ca0>) (224 . <图元名: -147ba8>) (224 . <图元名: -147b80>) (283 .
<图元名: -147c50>) (283 . <图元名: -147c00>) (283 . <图元名: -147bf0>) (283 . <图元名:
-147be0>) (361 . <图元名: -147c78>) (361 . <图元名: -147b58>) (361 . <图元名: -147b30>)
(538 . <图元名: -147bd0>))
lst1'((224 . 1) (361 . 2) (538 . 3))
现在要用 lst1的元素通过点对替换 lst中的点对第一个名字。。
就是lst要变成 ((1. <图元名: -147ca0>) (1. <图元名: -147ba8>) (1. <图元名: -147b80>) (283 .
<图元名: -147c50>) (283 . <图元名: -147c00>) (283 . <图元名: -147bf0>) (283 . <图元名:
-147be0>) (2. <图元名: -147c78>) (2 . <图元名: -147b58>) (2 . <图元名: -147b30>)
(3. <图元名: -147bd0>))
被绕进去了求助大神。。。。。谢谢!

xyp1964 发表于 2023-3-7 17:44:15


(defun abc (lst lst1 / a b n)
(setq a (mapcar 'car lst1)
        b (mapcar 'cdr lst1)
)
(mapcar '(lambda (x)
             (if (setq n (vl-position (car x) a))
             (cons (nth n b) (cdr x))
             x
             )
           )
          lst
)
)

yaojing38 发表于 2023-3-7 18:05:15

谢谢院长,给绕进去了
页: [1]
查看完整版本: 如何替换表中元素,,求助!!