小编use*_*317的帖子

首先从LISP中的列表中排序原子然后再列出子列表

我在LISP中有这个功课,我需要从列表中挑选出原子然后的子列表.我确信这应该是一件容易的事,但由于我不是一个程序员,所以这真的花了很长时间让我理解.

我有这个数字列表:

(5 -1 (2 6 1) (8 7 -3) (0 (9 4)) -6)
Run Code Online (Sandbox Code Playgroud)

如果我理解我的任务,那么我应该得到这样的东西:

(5 -1 -6 (2 6 1) (8 7 -3) (0 (9 4)))
Run Code Online (Sandbox Code Playgroud)

到目前为止,我发现的是如何计算原子和/或子列表,但我不需要.

(DEFUN ATOMNUMBER (L) (COND ((NULL L) 0)
  ((ATOM (CAR L)) (+ 1 (ATOMNUMBER (CDR L))))
  (T (ATOMNUMBER (CDR L))) ))
Run Code Online (Sandbox Code Playgroud)

即使只有子列表,只有原子或只是空列表,该函数也应该正常工作.

也许有人可以给我任何例子?

提前致谢!

lisp common-lisp difference-lists

3
推荐指数
1
解决办法
1126
查看次数

标签 统计

common-lisp ×1

difference-lists ×1

lisp ×1