2024-04-20 07:28:29 发布
网友
我是python的新手,我遇到了这个错误,我尝试了一些方法来解决它,但是找不到任何有效的方法
Type Error: '<' between instances of Node and Node
您需要编写special methods进行比较。heapq将在内部对添加到堆中的元素执行比较,您的代码失败,因为添加的元素是一个对象,而默认情况下,对象无法执行比较
我们需要定义特殊方法或为了比较两个物体
例如,在您的程序中,您可以在类节点下添加如下所示的uu lt_uuu方法,以比较类节点的freq属性
def __lt__(self, other): return self.freq < other.freq
现在,您可以执行<;对象的比较,类似地,您可以为>;编写>;=<;=或者==比较
您需要编写special methods进行比较。heapq将在内部对添加到堆中的元素执行比较,您的代码失败,因为添加的元素是一个对象,而默认情况下,对象无法执行比较
我们需要定义特殊方法或为了比较两个物体
例如,在您的程序中,您可以在类节点下添加如下所示的uu lt_uuu方法,以比较类节点的freq属性
现在,您可以执行<;对象的比较,类似地,您可以为>;编写>;=<;=或者==比较
相关问题 更多 >
编程相关推荐