小编Lit*_*boo的帖子

递归调用的return语句如何在Python中保存中间值?

正在审查一些与递归调用相关的python代码,并注意到return语句看起来很有趣.如果在下一个递归调用的return语句中没有变量赋值,递归如何工作?

在进行递归调用时,中间求和值不会存储在明显的位置.调试器似乎显示每个调用减少一个列表,但我只是不明白中间值的存储位置.

另一个有趣的事情是调试器似乎在最后一次调用后最后一次遍历值.使用PyCharm,但不确定是否重要.

在后续递归中,return语句如何在递归调用期间保存求和值?

def sum_list(list_of_num):
    if len(list_of_num) == 1:
        return list_of_num[0]
    else:
        return list_of_num[0] + sum_list(list_of_num[1:])

print(sum_list([4,6,7,3,7,3,2]))
Run Code Online (Sandbox Code Playgroud)

python recursion return-value

2
推荐指数
1
解决办法
373
查看次数

标签 统计

python ×1

recursion ×1

return-value ×1