170 похожих чатов

А вот есть у нас heapq модуль, и в нем

heappush например. А как же задать компаратор, если я хочу в хипе хранить не просто числа, а какие-нибудь там объекты например?

9 ответов

8 просмотров

Думаю так же через key... https://docs.python.org/3/library/heapq.html В доке тоже про это

Yuri-Katkov Автор вопроса
Владимир
Думаю так же через key... https://docs.python.org...

в упор не вижу, чтобы heappush поддерживала позиционный аттрибут key

Yuri Katkov
в упор не вижу, чтобы heappush поддерживала позици...

Гм, кстати похоже да. Пардон, зря я написал не проверив( Два варианта, которые полагаю подойдут: А) ввести метод сравнения для объекта (дандер cmp думаю то что надо) Б) заменить обьект кортежем (значение_по_которому_сортируем,объект)

Yuri Katkov
в упор не вижу, чтобы heappush поддерживала позици...

Ну переопредели функции сравнения в классе

Yuri-Katkov Автор вопроса
Tishka17
Ну переопредели функции сравнения в классе

ну а если это не класс, а просто dictionary? или tuple? или list?

Yuri-Katkov Автор вопроса
Владимир
Гм, кстати похоже да. Пардон, зря я написал не про...

гм, вроде бы Б выглядит чуточку приличнее, хотя тоже дурь - почему именно нулевой элемент кортежа интерпретируется как ключ?

Tishka17
Что за cmp? Его ж отменили

Да, я сморозил, пардон

Yuri Katkov
гм, вроде бы Б выглядит чуточку приличнее, хотя то...

Ну питон сравнивает слева направо - по мне так иногда удобно, В одной из минизадач по работе по сути решения сортируются по количеству сущностей в первую очередь и тооько если оно равно - нужно сортировать по второму "качественному" параметру Прост в namedtuple сунул, отсортировал

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
А с каким компилятором не будет ошибкой использовать асм вставки?
Replicant ~
14
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
что насчет пагинга? на осдеве непонятно(
Vi Chapmann 🪙
26
Всем привет! Подскажите, как решить проблему или из-за чего это происходит. У меня есть проблема в WebStorm (v.2024.1.3): я ставлю любую тему, и через какое-то время меняется ...
Alexander Sheigov
5
Народ, кто шарит в расширенных разделах (EBR/EPR) на дисках с разметками MBR? Везде пишут (в вики рус/англ) в частности + другие источники смотрел, что первый сектор расширенн...
Eugene Krasnikov (ᴊɪɴ x)
1
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
И из-за этого сужается карман. Нет свободного полёта. Они либо могут какой-то заточенный прикладной софт, либо какой-то простой системный написать. По шаблону. А, допустим, по...
КТ315
0
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Ребят, что лучше для реверса: гидра или ида?
En Vind Av Sorg
26
Карта сайта