元组列表中的 Heapify python 方法

RIc*_*130 10 python-3.x

我试图弄清楚如何在元组列表中使用 heapify 函数。我想要它用于 djikstra 算法,所以我的列表将如下所示。

[(node,distance)(node2,distance2)....(node-n,distance-n]
Run Code Online (Sandbox Code Playgroud)

我只是想知道 heapify 如何排序我的列表,只需检查距离而不是元组中的节点。

据我所知,如果我有一个清单,我会喜欢:

[8,4,7,2]
Run Code Online (Sandbox Code Playgroud)

我用

heapify(l)
Run Code Online (Sandbox Code Playgroud)

它将返回:

[2,4,7,8]
Run Code Online (Sandbox Code Playgroud)

那么我如何才能使用这个仅按距离排序的功能呢?

Yak*_*Dan 15

Heapify 将使用元组列表,以便每个元组的第一个元素是值,因此请使用 (distance, node)