堆化 python 列表列表中的每个子列表?

Heapify each sublist in a list of lists in python?

我有一个名为 opened 的列表列表,声明如下:

opened = [[] for i in range(5)]

现在opened = [[], [], [], [], []]
如何使用 heapq.heapify() 函数堆化每个子列表?即,opened[0]、opened[1]、opened[2]、opened[3]、opened[4] 应该堆化。

提前致谢。

每个子列表都是一个列表,所以直接在每个子列表上使用 heapify():

import heapq

for j in range(5):
    heapq.heapify(opened[j])

当然,如果你知道每个子列表都是空的,就没有必要这样做了:一个空列表已经是一个堆。没有额外的变量或其他存储来使它们成为堆,因为 Python 堆只是一个带有元素顺序条件的列表。