带有可选参数的Python递归函数

时间:2015-01-24 18:15:24

标签: python recursion optional-parameters

我在使python函数递归正常工作时遇到了一些困难。最终我找到了可行的方法,但我想了解为什么我的初始解决方案无效。

我想将平面列表转换为多级字典(例如[1,2,3]变为{1:{2:3}}

以下是我的尝试:

def build(list, dict={}):
    el = list.pop(0)
    if not list:
        return el
    dict[el] = build(list)

然而,这不起作用。如果我碰到最后一行

dict[el] = build(list,{})

确实如此。我想我理解声明中的可选参数dict = {}错误,有人能解释一下这里发生了什么吗?

谢谢!

0 个答案:

没有答案