gpt4 book ai didi

lisp - 在 LISP 中使用 dolist 反转列表

转载 作者:太空宇宙 更新时间:2023-11-03 19:03:28 25 4
gpt4 key购买 nike

我尝试反转列表,我不能使用函数“nreverse”

我试试:

(defun dolist-reverse (l)
(let ((new-list (make-list (length l))))
(dolist (x l new-list)
(setf new-list (cons x new-list)))))

但结果是:

CL-USER> (dolist-reverse '(1 2 3))

(3 2 1 NIL NIL NIL)

我该怎么办? (我需要使用 dolist)

编辑:

终于解决了我的问题:

(defun dolist-reverse (l)
(let ((new-list))
(dolist (x l new-list)
(setf new-list (cons x new-list)))))

最佳答案

CL-USER 11 > (defun dolist-reverse (list &aux (reverse-list nil))
(dolist (element list reverse-list)
(push element reverse-list)))
DOLIST-REVERSE

CL-USER 12 > (dolist-reverse '(1 2 3))
(3 2 1)

关于lisp - 在 LISP 中使用 dolist 反转列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20556205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com