Я хотел создать простое двоичное дерево, за которым следовало бы это изображение:

в основном пусто, но последние значения, поэтому я создал корневой список:
root = [list(),list()]
и сделал рекурсивную функцию для заполнения всего этого:
def TF(nodeT,nodeF , i):
if i == 35 : return 'done'
TF(nodeT.append([]),nodeT.append([]) , i = i + 1) #append T , F in the true node
TF(nodeF.append([]),nodeT.append([]) , i = i + 1) #append T , F in the false node
Моя проблема в том, что list.append (что-то) в Python возвращает «None», поэтому, как только функция будет вызвана снова (TF (None, None, 1)), None.append не существует.
как мне это решить? заранее спасибо.
также, если у вас есть какие-либо предложения о том, как сделать это более эффективным или иным способом (мне никогда не приходилось тестировать мой код, поэтому я не уверен, как это будет происходить)
(моя конечная цель - получить карту True False и аргумент так: "FTFTFFFTFTF" вызовет букву "M" и т. Д ...)