我想使用递归函数编写代码来取消LIST中的括号。
以下是一个例子:
(unnest '(1 (2 (3)) (4 5))) ==> (1 2 3 4 5)
答案 0 :(得分:5)
(defun unnest (lst)
(cond ((null? lst) '())
((not (list? lst)) (list lst))
(t
(append (unnest (car lst))
(unnest (cdr lst))))))
> (unnest '(1 (2 (3)) (4 5)))
(1 2 3 4 5)
基本上这个想法如下:
希望它有所帮助。