【发布时间】:2018-01-16 02:32:29
【问题描述】:
我必须在 lisp 中创建一个递归函数,它接受一个列表并创建另一个列表,其中仅包含给定列表中奇数位置的元素。
如果我有(1 2 3 4 5),我必须输出(1 3 5)
我这里有一个代码:
(defun pozpar(lst) (do(
(l lst (cddr l))
(x '() (cons x (car l))))
((null l) x)))
这个输出:
(5 3 1)
我知道cons 在开头添加了元素,我尝试使用append 或list,但没有任何效果。
【问题讨论】:
-
有很多 Lisps。看起来你在这里使用的是 Common Lisp,所以我建议为你正在使用的 specific Lisp 添加一个标签。
-
这看起来不像一个递归函数。没有使用递归。
标签: lisp common-lisp