从列表中删除原子的出现-LISP
我是LISP新手,这里我尝试从列表中删除所有出现的原子- 我的代码到目前为止-从列表中删除原子的出现-LISP,lisp,Lisp,我是LISP新手,这里我尝试从列表中删除所有出现的原子- 我的代码到目前为止- (defun rematom (A LAT) (cond ((null LAT) ()) ((EQ (car LAT) A car LAT)) (T (cons (car LAT)(rematom, A (cdr LAT)))) ))) 此代码正在删除元素的第一个引用,如何删除所有引用 我的输出- > (rematom 'a '(a b c a d a)) (B C
(defun rematom (A LAT)
(cond
((null LAT) ())
((EQ (car LAT) A car LAT))
(T (cons (car LAT)(rematom, A (cdr LAT))))
)))
此代码正在删除元素的第一个引用,如何删除所有引用
我的输出-
> (rematom 'a '(a b c a d a))
(B C A D A)
渴望的-
>(rematom 'a '(a b c a d a))
(B C D)
谢谢。第二个案例应该叫rematom:
((EQ (car LAT) A) (rematom A (cdr LAT)))
只有第一种情况,即检查空列表的基本情况,应该是非递归的。这里的其他人需要递归调用rematom 这里是什么?((EQ(car LAT)A)(rematom A(cdr LAT))),是的,这解决了它,非常感谢您的帮助。