list - 获取列表的第一个和最后一个原子并附加它们

标签 list lisp

假设我有这个列表

'((c d) (4 6) (m n) (z z)) 

如何将每个内部列表的第一个和最后一个元素分组并将其附加到末尾,以便我的输出如下所示:

(c 4 m z z n 6 d)

任何帮助将不胜感激!

最佳答案

这是 Clojure(一种 lisp 方言)中的一种方式:

user=> (def l '((c d) (4 6) (m n) (z z)) )
user=> (concat (map first l) (reverse (map second l)))
(c 4 m z z n 6 d)

关于哪种实现最适合,这真的取决于您的问题。

关于list - 获取列表的第一个和最后一个原子并附加它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1495781/

相关文章:

python - 如何获取嵌套列表中特定深度级别的所有元素?

R:创建 xts 对象的动态列表

python - 在一定数量的变量之后更改列表输出

javascript - foo += 1 被认为是功能性的吗?

macros - 如何将引用的 sexp 传递给宏

lisp - 与欧拉项目 72 (lisp) 有关的奇怪问题

python - 在 python 中使用列表时遇到问题

java - 为什么 fill、copy(dstList, srcList)、shuffle、reverse、rotate Collections 类方法只接受 List 作为参数?

lisp - Lambda 微积分 CONS Pair implementation with Lisp

lisp - elisp 中多个列表的交集