定义Heapq Python的队列条件

2024-10-03 15:23:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有清单:

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.heappop(mylist)弹出列表时。 将弹出的第一项是[3, 'A', 'X', 'xyz', 0.93243]。我猜,这是因为项目列表中的第一个值(3)是最低的

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

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


Tags: 项目元素列表index基础heapqxyzmylist
1条回答
网友
1楼 · 发布于 2024-10-03 15:23:32

列表必须是实现自定义cmp函数的对象,如:

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

相关问题 更多 >