thanhdattdk 发表于 2022-7-5 16:28:23

删除列表中的元素

大家好。我想询问有关删除父对象集中子集子集的元素的问题
例如:我设置了ssg1包含((5 10)(15 20))和ssg包含((5 10)(15 20)(25 30)(35 40))
我想创建一个新的ssg文件,删除ssg中ssg1的元素:结果返回ssg((25 30)(35 40))
请帮帮我!

Tharwat 发表于 2022-7-5 16:59:23


(setq a '((5 10) (15 20))
   b '((5 10) (15 20) (25 30) (35 40))
   c (vl-remove-if '(lambda (u) (member u a)) b)
   )

David Bethel 发表于 2022-7-5 17:24:35

可能是这样:
 

(defun remove (expr lst);;;TonyT or VNesterowski
(apply 'append (subst nil (list expr) (mapcar 'list lst))))

(defun c:foo ()
(setq ssg1 '((5 10) (15 20)))
(setq ssg'((5 10) (15 20) (25 30) (35 40)))

(foreach p ssg1
   (setq ssg (remove p ssg)))

(prin1 ssg)
(prin1))

 
 
-大卫

thanhdattdk 发表于 2022-7-5 17:30:20

非常感谢大家。美好的
页: [1]
查看完整版本: 删除列表中的元素