AttributeError: o objeto 'NoneType' não tem atributo 'append'
Eu tenho um problema estranho com python passando uma lista como parâmetro para uma função. Aqui está o código:
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)
Ele diz que o objeto "AttributeError: 'NoneType' não tem nenhum atributo 'append'", porque top é None em foobar, embora dir (top) imprima um atributo completo e uma lista de métodos de uma lista de tipos. Então, oque há de errado? Eu só queria passar duas listas como parâmetros para essa função recursiva.