我正在研究的递归有问题,
如果我尝试创建一个递归函数以将项目添加到列表中,则一切正常。例子:
def recursion(n):
if n == 0:
list=["lelvel 0"]
return [0] + list
else:
list=["level"+str(n)]
return [n] +list + recursion(n-1)
如果我想创建一个递归函数以在字典中添加项目,则会给我一些错误。例如,我需要使用dict = {lion:0,rat:1}创建字典,但我尝试了以下代码,但无法正常工作:
def recursion(n):
if n == 0:
return {"lion": 0}
else:
return {"rat":1} + recursion(n-1)
出现以下错误:TypeError:+不支持的操作数类型:“ dict”和“ dict”,我也尝试了以下代码:
def recursion(n):
if n == 0:
dict = {"lion": 0}
return dict
else:
dict = {"rat": 1}
return dict.update(recursion(n-1))
但是回报是“无”。
我的问题是如何在不使用更多功能且不使用全局字典的情况下,使我回到带有狮子{0,rat:1}的字典中?
您可以+
对两个列表使用运算符来将它们连接起来。
def prova(n):
if n == 0:
return [0]
else:
return [n] + prova(n-1)
>>> prova(3)
[3, 2, 1, 0]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句