Нагромождать каждый подсписок в списке списков в python?

#python #data-structures #heap

#python #структуры данных #куча

Вопрос:

У меня есть список списков с именем open, который был объявлен следующим образом:

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

Теперь opened = [[], [], [], [], []]
Как я могу объединить каждый из подсписок с помощью heapq.heapify() функции? т.е. Открытые [0], открытые [1], открытые [2], открытые [3], открытые [4] должны быть нагромождены.

Заранее спасибо.

Ответ №1:

Каждый из этих вложенных списков представляет собой список, поэтому просто используйте heapify() непосредственно для каждого из них:

 import heapq

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

Конечно, если вы знаете, что каждый из этих вложенных списков пуст, в этом нет необходимости: пустой список уже представляет собой кучу. Нет никаких дополнительных переменных или другого хранилища, чтобы сделать их кучами, поскольку куча Python — это просто список с условием о порядке элементов.