I have a weird problem with python passing a list as parameter to a function. Here is the code:
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)
It says "AttributeError: 'NoneType' object has no attribute 'append'", because top is None in foobar although dir(top) prints a full attribute and method list of a type list.
So whats wrong? I just wanted to pass two lists as parameters to this recursive function.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…