在python中列出列表列表中的每个子列表?

时间:2016-10-16 19:24:44

标签: python data-structures heap

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

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

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

提前致谢。

1 个答案:

答案 0 :(得分:3)

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

import heapq

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

当然,如果您知道每个子列表都是空的,则无需执行此操作:空列表已经是堆。没有额外的变量或其他存储来使它们成堆,因为Python堆只是一个条件符合元素顺序的列表。