list - 返回普通lisp中没有最后一个元素的列表

标签 list common-lisp

我编写了我的愚蠢函数,它返回一个没有通用 lisp 中最后一个元素的列表。这个问题有没有更优雅的解决方案?

这是我的代码:

(defun list-without-last (l)
  (if (> (length (rest l)) 0)
      (append (list (first l)) (list-without-last (rest l)))
      nil))

最佳答案

简短而简单,就像 Lisp 一样。
这是神奇的东西:
(defun without-last(l) (reverse (cdr (reverse l))) )

关于list - 返回普通lisp中没有最后一个元素的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10636523/

相关文章:

Java + 列表到 HashMap

在包含 unicode 字符串的列表上调用 remove() 时,Python 给出 UnicodeWarning

common-lisp - SBCL: asdf:load-system 在定义字符串常量时失败

lisp - 查找 Common Lisp 库

lisp - 我如何使用键获取列表的最小值/最大值

list - 如何使用 Get-ChildItem -exclude 排除多个文件夹?

java - 保存的文件去哪里java

common-lisp - setq vs 未声明的自由变量(常见的 lisp)

Python 从列表中删除特定标记

common-lisp - sb-ext :run-program 的参数