原因分析
这个报错折磨了我一天。
先说结论,如报错字面意义所示,这个报错是因为加入堆的元组里面有不能比较大小的多元张量导致的。
但是众所周知,在实现堆队列算法heapq时候,允许不用相互比较的元素为元素不唯一的张量。
比如
那么为什么会导致上面的报错呢?
答:是因为多元张量前的项都一致,无法比出大小,那么多元张量就会触发报错(不过如果张量的值能比,也就是值一致的时候也不会报错)
例如:
解决方法
其实解决方法很简单,只要在前面插入编号项,让张量前面的项不完全一致就行。比如以插入顺序为编号的项等。