繁体   English   中英

堆在python列表列表中的每个子列表吗?

[英]Heapify each sublist in a list of lists in python?

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

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

现在opened = [[], [], [], [], []]
如何使用heapq.heapify()函数来堆放每个子列表? 例如,open [0],open [1],opend [2],opened [3],opened [4]应该被堆放。

提前致谢。

这些子列表中的每一个都是一个列表,因此只需在每个子列表上直接使用heapify()

import heapq

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

当然,如果您知道每个子列表都是空的,则无需这样做:空列表已经是堆。 没有多余的变量或其他存储空间可以使它们成为堆,因为Python堆只是一个列表,其中包含元素顺序的条件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM