【发布时间】:2019-10-27 23:35:29
【问题描述】:
我正在尝试编写一个递归函数,它接受一个数字 n 和一些值,比如 'a',并递归地构建一个由 n'a's 组成的列表。
所以,func(4, 'a') 返回 ['a','a','a','a']。
到目前为止,我的互联网搜索结果出人意料地徒劳无功。我发现的大多数列表递归示例都带有附加参数。
我尝试了以下代码的各种版本:
def func(n, a):
if n == 1:
return [a]
else:
return func(n-1, a).append(a)
我在最后一次返回时不断收到cannot append to NoneType 错误。所以func(n-1,a) 正在返回None。
【问题讨论】:
-
因为
.append返回None,你的 else 分支也会如此