我在将字典存储在heapq中时出现以下情况。有谁知道如何解决这个问题? 'dict'和'dict'实例之间不支持'<'
import heapq
PQ = []
heapq.heappush(PQ, {"1": "animal"})
heapq.heappush(PQ, {"2": "vechile"})
heapq.heappush(PQ, {"3": "music"})
print(PQ)
heapq.heappush(PQ,{“ 2”:“ vechile”})
TypeError:“ dict”和“ dict”的实例之间不支持“ <”
答案 0 :(得分:0)
以下是一些选择:
问题是{"1": "animal"} < {"2": "vechile"}
是什么意思?
键实际上是优先级和值数据吗?在这种情况下,它们不应该是元组或命名元组或可排序对象。 ("1", "animal") < ("2", "vechile")
具有含义,尽管十进制字符串的顺序与其数字值的顺序不同。这是"10" < "2"
与2 < 10
的问题。