Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python heapq推送类型错误:'<';实例之间不支持_Python_Heapq - Fatal编程技术网

Python heapq推送类型错误:'<';实例之间不支持

Python heapq推送类型错误:'<';实例之间不支持,python,heapq,Python,Heapq,我在python中工作,我对heapq有一些问题。 当我将元素推入堆时,我收到以下错误: TypeError:“您需要在点类中定义相对比较操作。 这意味着: \uuult\uuuuu(自我、其他)用于= 最后两个是可选的,因为如果未指定,则取le和lt的反 这些方法的一般结构是\uuu name\uuu(self,other),其中other是将与self进行比较的对象。此外,它们返回True或False 您还可以定义\uuuuueq\uuuuuu,而不是上面所有四个,这与Java中的compa

我在python中工作,我对heapq有一些问题。 当我将元素推入堆时,我收到以下错误:


TypeError:“您需要在
类中定义相对比较操作。 这意味着:

\uuult\uuuuu(自我、其他)
用于
=

最后两个是可选的,因为如果未指定,则取
le
lt
的反

这些方法的一般结构是
\uuu name\uuu(self,other)
,其中
other
是将与
self
进行比较的对象。此外,它们返回
True
False


您还可以定义
\uuuuueq\uuuuuu
,而不是上面所有四个,这与Java中的comparator类似。如果
self
大于
other
,则此方法应返回正整数;如果
other
大于
self
,则返回0;如果
other
大于
heapq
则返回负整数。heapq将使用
是否要比较两个
对象(一个小于另一个)?在这种情况下,你需要写下这个操作符应该如何工作。TypeError的可能重复:'另外:TypeError:'不,伙计们,我在问另一件事,我解决了我的问题
>>> x = (1, object())
>>> y = (2, object())
>>> x <= y
True
>>> z = (1, object())
>>> x <= z
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    x <= z
TypeError: '<=' not supported between instances of 'object' and 'object'
(priority, id(obj), obj)