我将自己设置为编写Common Lisp函数的任务,该函数将两个列表连接在一起而不使用append。
通用Lisp输入(concat-lists '(1 2 3) '(4 5 6))应返回(1 2 3 4 5 6)
即使我的解决方案似乎可行,它看起来也很复杂
(defun concat-lists(seq1 seq2)
(cond ((not (null seq1)) (cons (car seq1) (concat-lists (cdr seq1) seq2)))
(T (cond ((not (null seq2)) (cons (car seq2) (concat-lists seq1 (cdr seq2))))
(T nil)))))
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种更优雅的解决方案reduce,该方法使用将我 seq1用作初始值的位置,然后将函数应用于的每个元素seq2,从而将列表的每个值附加到seq1。尝试时总会卡住我...
任何帮助或投入,我们将不胜感激。谢谢!