假设你有
(setq list '(1 2 3 4 5))
当使用Nth返回第一个元素时,结果是一个数字:
(nth 0 list)
Result: 1
有没有办法将结果作为列表返回或将结果转换为列表?如:
Result: (1)
最佳答案
(defparameter *list* '(1 2 3 4 5))
(list (nth 0 *list*))
==> (1)
但是,如果您希望获得包含数字的参数的切片,您需要意识到如果不修改参数是不可能的*列表*
:
(defparameter *tail* (nthcdr 2 *list*))
*tail*
==> (3 4 5)
以下截断两者 *tail*
和 *list*
:
(setf (cdr *tail*) nil)
*tail*
==> (3)
*list*
==> (1 2 3)
关于list - 获取列表中的第 N 个元素作为列表而不是 LISP 中的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43894314/