У меня есть метод, который создает новый узел в дереве - левый или правый. Если значение меньше моего текущего значения, оно вставляется слева, в противном случае справа.
Я хочу реорганизовать этот код, чтобы я сначала увидел, с какой стороны мне нужно вставить свой элемент, а затем вставил его. До того, как я реализовал это дважды: один раз для левой стороны и один раз для правой стороны.
В настоящее время это выглядит так:
def neu(self, sortByValue, secondValue):
child = self.left if(sortByValue.lower() < self.value[0].lower()) else self.right
if(child == None):
child = MyTree(sortByValue,secondValue)
else: child.neu(sortByValue,secondValue)
Моя проблема, однако, в том, что self.left - None, а self.right - None. Поэтому, когда я создаю child как переменную и устанавливаю его в MyTree (...), self.left и self.right не получают значения.
Что я могу сделать, чтобы улучшить это? Спасибо!