我有一个简单的代码,可使用存储在字典中的图形查找路径。代码完全是:
def find_path(dct, init, depth, path=[]):
if depth == 0:
return path
next_ = dct[init]
depth-=1
find_path(dct, next_, depth)
如果我在
return path
之前打印路径,它将打印以筛选正确的路径(在5
的初始深度之后)。但是,返回的值是None
。我不知道发生了什么!为什么在
path
上方的return
值正确,但是返回的路径不是我想要的? 最佳答案
这不应该吗
find_path(dct, next_, depth)
是
return find_path(dct, next_, depth)
# ^^^^
# Return
在Python中(不同于Ruby),您必须显式
return
一个值。否则,返回None
。关于python - 可变默认参数不返回,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3879307/