1
所以我有列表被添加到堆中;例如:python heapq:如何使用列表列表中的第n个元素对堆进行排序?
n = [[1, 5, 93],
[2, 6, 44],
[4, 7, 45],
[6, 3, 12]]
heapq.heapify(n)
print(n)
根据列表的第一个元素进行比较和排序。
我的问题是,我如何排序heapq,因此它比较每个列表的第三个元素?例如,上面的列表就会从heapq顺序访问:
[[6, 3, 12],
[2, 6, 44],
[4, 7, 45],
[1, 5, 93]]
'sorted(your_list_of_lists,key = lambda x:x [2])' – DyZ
您是在寻找“排序”还是您有一些插入并删除? – AChampion
我不能使用其他任何东西。我对算法的时间复杂性非常紧张,所以我需要为我节省一些大的O.有什么办法让heapq本身以不同的顺序存储列表? (PS:我也编辑了这篇文章,以澄清一些事情) –