gpt4 book ai didi

list - Lisp,关于列表和递归的几个问题

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

很抱歉问了这么多问题。

我有以下内容:

(defun recursive-function (string) "returns list of strings"
;I am trying to return flat list
; create list L
(append (mapcar 'recursive-function L)))

但是由于递归函数返回一个列表,我最终得到一个列表列表的列表...,而我只想要一个平面列表。

对采用标量并返回标量列表的函数实现递归的正确方法是什么?

谢谢。

最佳答案

如果我没理解错的话,您可以结合使用reduceappend 来在返回之前展平列表。

示例:

(reduce 'append '((1) (2) (3)))

输出:

(1 2 3)

在您的情况下,这可能有效:

(reduce 'append (mapcar 'recursive-function L))

关于list - Lisp,关于列表和递归的几个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2239643/

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