При реализации бинарного дерева возникает проблема при создании узлов

Нужно построить дерево. нашел стандартную библиотеку heapq. Та вот выдается ошибка TypeError: '<' not supported between instances of 'tuple' and 'str', не могу понять где ошибка. Спасибо за помощью

import heapq

class New_My_Class(object):
    def __init__(self):
        self.test = [(1,('a','')),(9,('s','')),(2,('d','')),(1,('f','')),(3,('g','')),(6,('q','')),(8,('t',''))]
        heapq.heapify(self.test)
        for i in range(len(self.test) - 1):
            self.Heap_Creation(self.test)
        print(self.test)

    def Knot(self,left,right):
        self.left,self._left_symbol = self.left
        self.right,self._right_symbol = self.right
        return (self.left+self.right,(('left',self._left_symbol),('right',self._right_symbol)))

    def Heap_Creation(self,test):
        self.left,self.right = heapq.heappop(self.test),heapq.heappop(self.test)
        return heapq.heappush(self.test,self.Knot(self.left,self.right))

New_My_Class()  

Текст ошибки:

Traceback (most recent call last): File "/home/alexander/Мои проекты и программы/Курсовая/test.py", line 20, in New_My_Class() File "/home/alexander/Мои проекты и программы/Курсовая/test.py", line 8, in init self.Heap_Creation(self.test) File "/home/alexander/Мои проекты и программы/Курсовая/test.py", line 18, in Heap_Creation return heapq.heappush(self.test,self.Knot(self.left,self.right)) TypeError: '<' not supported between instances of 'tuple' and 'str'


Ответы (0 шт):