我有一个包含两个元素[A,B]
的列表列表。首先,我希望根据A
来定义堆,但是在A = A
的情况下,我想按降序比较B
。但是可以理解的是,当我希望按降序排列时,heapsort还可以按升序比较B
,所以得不到这样的结果
[7, 1]
[7, 0]
[6, 1]
[5, 2]
[5, 0]
[4, 4]
当我想要
[7, 0]
[7, 1]
[6, 1]
[5, 0]
[5, 2]
[4, 4]
我该怎么做?
作为参考,我正在使用heapq._heapify_max
官方的python解决方案建议将所有内容都转换为元组,其中第一个元素是我想要排序优先级的元素,但是由于我希望通过两个键的组合来完成排序,所以这将无效