AttributeError: Obiekt „NoneType” nie ma atrybutu „append”

Mam dziwny problem z pythonem przekazującym listę jako parametr funkcji. Oto kod:

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)

Mówi „AttributeError: obiekt NoneType nie ma atrybutu append”, ponieważ top jest None w foobar, chociaż dir (top) drukuje pełną listę atrybutów i metod listy typów. Więc co się stało? Chciałem tylko przekazać dwie listy jako parametry tej funkcji rekurencyjnej.

questionAnswers(2)

yourAnswerToTheQuestion