定义Heapq Python的队列条件

定义Heapq Python的队列条件,python,list,queue,heap,Python,List,Queue,Heap,我有以下清单: mylist = [[3, "A", "X", "xyz", 0.93243],[43, "C", "X", "zyx", 0.23243],[13, "B", "X", "xyz", 0.43243]] heapq.heapify(mylist) mylist [[3, 'A', 'X', 'xyz', 0.93243], [43, 'C', 'X', 'zyx', 0.23243], [13, 'B', 'X', 'xyz', 0.43243]] 当我想使用heapq

我有以下清单:

mylist = [[3, "A", "X", "xyz", 0.93243],[43, "C", "X", "zyx", 0.23243],[13, "B", "X", "xyz", 0.43243]]

heapq.heapify(mylist)
mylist
[[3, 'A', 'X', 'xyz', 0.93243],
 [43, 'C', 'X', 'zyx', 0.23243],
 [13, 'B', 'X', 'xyz', 0.43243]]
当我想使用
heapq.heapop(mylist)
弹出列表时。 将弹出的第一个项目是
[3',A',X',xyz',0.93243]
。我猜,这是因为项目列表中的第一个值(
3
)是最低的

如果我想使用最后一个值,
索引[4]
作为基础,是否可能。那么弹出项基于列表中的最后一个元素


预期输出当我想要弹出项目时,将弹出的第一个项目是
[43',C',X',zyx',0.23243]
,因为
索引[4]
具有最低值,即
0.23243

,您的列表需要是实现自定义cmp函数的对象,如下所示:

class MyObject():
...     
...     def __cmp__(self, other):
...         return cmp(self.val, other.val)
...

你能用我上面的清单给我举个例子吗。我不太明白