gpt4 book ai didi

lisp - 删除所有出现

转载 作者:太空宇宙 更新时间:2023-11-03 19:02:14 26 4
gpt4 key购买 nike

删除所有出现的问题 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)))))

最佳答案

在第二个术语中,您从谓词中知道您在第一个元素中得到了一个列表。除了需要处理 carcdr 之外,您应该执行与第三个结果相同的操作。

关于lisp - 删除所有出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29636770/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com