我在LISP有这种家庭工作,我需要从名单上剔除原子,然后从名单上除名。 我确信,这应该是轻而易举的任务,但因为我不是一位方案家中的多数人,因此,这在我理解的时候确实是算的。
我有这份名单:
(5 -1 (2 6 1) (8 7 -3) (0 (9 4)) -6)
And if I understand correctly my task then I should get something like this:
(5 -1 -6 (2 6 1) (8 7 -3) (0 (9 4)))
迄今为止,我发现的都是如何算出原子和(或)子清单,但我不需要。
(DEFUN ATOMNUMBER (L) (COND ((NULL L) 0)
((ATOM (CAR L)) (+ 1 (ATOMNUMBER (CDR L))))
(T (ATOMNUMBER (CDR L))) ))
而且,即使在只有分项、只有原子或空洞清单的情况下,这一职能也应正确发挥作用。
难道有人能给我任何例子吗?
提前感谢!