删除所有出现问题5(0/32)
定义一个函数deleteAll,它有两个输入参数x和L,其中x是一个原子,L是一个包含任何级别的原子元素和子列表的列表,该函数返回一个列表,其中所有出现的x都从清单L.
列表有子列表时遇到问题。我不能递归地在子列表中检查它是否包含重复。
(defun deleteAll (x L)
(cond
((null L) nil)
((not(atom(car L))) (deleteAll x (cdr L)))
((not(eq x (car L))) (cons (car L) (deleteAll x (cdr L ))))
(T(deleteAll x (cdr L)))))
答案 0 :(得分:0)
在第二个术语中,您从谓词中知道第一个元素中有一个列表。除了需要处理car
以及cdr
之外,您应该与第三个结果相同。