堆化 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 堆只是一个带有元素顺序条件的列表。
我有一个名为 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 堆只是一个带有元素顺序条件的列表。