python 将列表作为参数传递给函数时,我遇到了一个奇怪的问题。这是代码:
def foobar(depth, top, bottom, n=len(listTop)):
print dir(top)
print top.append("hi")
if depth > 0:
exit()
foobar(depth+1, top.append(listTop[i]), bottom.append(listBottom[i]))
top = bottom = []
foobar(0, top, bottom)
它说“AttributeError: 'NoneType' 对象没有属性 'append'”,因为 foobar 中的 top 是 None 尽管 dir(top) 打印了类型列表的完整属性和方法列表。那么怎么了?我只是想将两个列表作为参数传递给这个递归函数。