使用递归向字典添加项

2024-09-30 05:17:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我在研究递归的问题

如果我尝试创建一个递归函数来向列表中添加项,则一切正常。 示例:

def recursion(n):
if n == 0:
    list=["lelvel 0"]
    return [0] + list
else:
    list=["level"+str(n)]
    return [n] +list + recursion(n-1)

如果我想创建一个递归函数来在字典中添加条目,会出现一些错误。 例如,我需要创建一个dict={狮子:0, 老鼠:1} 我试过这个代码,但没用:

^{pr2}$

出现此错误:TypeError:不支持+:“dict”和“dict”的操作数类型 我也试过这个代码:

def recursion(n):
if n == 0:
    dict = {"lion": 0}
    return dict
else:
    dict = {"rat": 1}
    return dict.update(recursion(n-1))

但没有回报。在

我的问题是如何在不使用更多功能和不使用字典全局的情况下,使用lion{0,rat:1}返回字典?在


Tags: 代码示例列表returnif字典def错误
2条回答

I'd like to understand why my code did not work.

我简化了您的代码以帮助您理解它:

def prova(n): 
    if n == 0:
        return 0
    else:
        return [prova(n-1)]

您可以对两个列表使用+运算符来连接它们。在

def prova(n):
    if n == 0:
        return [0]
    else:
        return [n] + prova(n-1)

>>> prova(3)
[3, 2, 1, 0]

相关问题 更多 >

    热门问题