2010-11-11 3 views
1

Поскольку я пытаюсь быть эффективным в этой программе, я делаю, я думал, что буду использовать встроенный модуль heapq в python, но некоторые из моих объектов имеют несколько атрибутов , как имя и номер. Есть ли способ использовать метод heapify для heapify моих объектов на основе определенного атрибута? Я ничего не вижу в документации.Модуль heapq Python, метод heapify для объекта

ответ

1

Сразу после публикации, я решил, что вы можете составить список объектов по атрибуту, необходимому, прежде чем использовать heapify, который займет O (n) линейное время. Это не повлияет на время выполнения heapify или других методов heapq.

+0

Я как раз собирался сказать ... +1 в любом случае. –

+0

Можете ли вы пояснить, как вы это делаете? Предположим, у меня есть объекты с атрибутами 'name' и 'number'. Я хочу поместить их в кучу, чтобы я мог прочитать их в порядке * number * (игнорируя их значения имен). Если я создам и сортирую отдельный список всех своих номеров, я могу столкнуться с проблемами с идентичными или частично идентичными (одинаковыми именами или одинаковыми номерами) значениями. – vsekhar

Смежные вопросы