Описание тега sortedcontainers

SortedContainers предоставляет отсортированные типы контейнеров, написанные на чистом Python и работающие как C-расширения.
1 ответ

Как правильно использовать SortedSets по ключу в Python sortedcontainers

SortedListWithKey может отсортировать список с помощью лямбда-функции: from sortedcontainers import SortedListWithKey SortedListWithKey([[4, 'last'], [1, 'first']], key=lambda x: x[0]) # Result: SortedListWithKey([[1, 'first'], [4, 'last']], key=&lt…
1 ответ

Сортировка SortedDictionary требует другого ключа от OrderedDict

У меня проблемы с сортировкой словаря по значениям ключей, которые изначально являются строками. Я ищу решение, которое использует SortedDict, Ниже я приведу строки к int Но сортировка кажется иррациональной. #using Jenks' library: from sortedcontai…
0 ответов

Как установить предикат сортировки в sortedcontainers.SortedDict?

Есть ли способ сортировки предметов в sortedcontainers.SortedDict по значению, чтобы SortedDict всегда поддерживал свои элементы в отсортированном порядке на основе значений, а не ключей? Стандартный пример из sortedcontainers показывает, что элемен…
1 ответ

Заполнение SortedLIst из массива n×2

У меня есть пустой массив с формой n×2, набор кортежей длины 2, который я хотел бы перенести в SortedList. Таким образом, цель состоит в том, чтобы создать SortedList с целочисленными кортежами длины 2. Проблема в том, что конструктор SortedList про…
01 дек '17 в 16:38
1 ответ

Как эффективно получить индекс и значение для ключа из SortedDict?

Учитывая коллекцию, которая упорядочена и снабжена ключами (например, OrderedDict или SortedContainers SortedDict), я хочу сделать следующее: d['first'] = 'hi' d['second'] = 'there' d['third'] = 'world' (ix, value) = d.get_index_and_value('second') …
27 июн '16 в 12:25
1 ответ

Как я могу реализовать SortedContainers.SortedListWithKey с несколькими порядками сортировки?

Приведенный ниже код завершится ошибкой из-за исключения "TypeError: плохой тип операнда для унарного -: 'str'", но оно иллюстрирует то, чего я пытаюсь достичь. from sortedcontainers import SortedListWithKey contacts = SortedListWithKey(key=lambda v…
1 ответ

TypeError: __new__() получил неожиданный аргумент ключевого слова 'load'

TypeError Traceback (последний вызов последним) в 1 slt = SortedList(load = 1000) 2 assert slt._load == 10000 3 assert slt._twice == 20000 4 assert slt._half == 5000 5 slt._check() TypeError: new() получил неожиданный аргумент ключевого слова 'load'
27 июл '20 в 07:06
1 ответ

Временная сложность операций в SortedList - Python

Какова временная сложность операций в реализации SortedList модуля sortedcontainers? Насколько я понимаю, основная структура данных - это список массивов. Так же вставка занимаетO(n) время с тех пор, как индекс можно найти в O(logn) а затем вставьте…
16 авг '20 в 00:15
0 ответов

Невозможно импортировать отсортированные контейнеры в python, хотя я его установил

Я установил sortedcontainers для использования его модуля sortedList с помощью pip installsortedcontainers, и это версия 2.2.2 находится на моем компьютере. Но, к сожалению, не могу его импортировать! from sortedcontainers import SortedList sList = …
1 ответ

Использование sortedcontainers в Python для эмуляции BST

Я вижу, что некоторые люди рекомендуют использовать SortedContainersв качестве дополнения к некоторым древовидным структурам, таким как двоичные деревья, например в этой ветке reddit. В документации для SortedContainers упоминается, что он более эфф…
11 фев '20 в 04:20
2 ответа

Получить объект в sortedcontainers.SortedKeyList с использованием другого ключа

Допустим, у меня есть элемент со следующим определением: Item(id: str, sequence: int) id - это случайная строка символов. последовательность - это число, представляющее порядок, в которомItem был помещен в структуру данных. Я хотел организовать все …
06 янв '20 в 20:17
1 ответ

Как может SortedList.add иметь временную сложность o(log(n)), когда он использует внутреннюю сортировку?

В sortedContainers указано, что SortedList.add имеет примерно O(log(n)) временную сложность, но мы видим, что он использует insort() в исходном коде, который равен O(n): def add(self, value): """Add `value` to sorted list. Runtime complexity: `O(log…
09 июн '21 в 11:03
1 ответ

SortedList не находит элемент, который он содержит, в то время как список делает

В проекте я использую .SortedList. В следующем псевдокоде я получаю сообщение об ошибке утверждения: assert custom_class in list(sorted_list) # This does not cause an error assert custom_class in sorted_list # This causes an assertion error К сожале…
10 ноя '21 в 17:14
0 ответов

SortedKeyList не работает для вложенного списка

Я использую SortedKeyList из пакета sortedcontainers. У меня есть следующий вложенный список - lst = [['fr', [2, 6]], ['mo', [6, 6]], ['th', [3, 6]], ['tu', [6, 3]], ['we', [6, 6]]] Я хочу, чтобы этот список всегда сортировался при вставке и удалени…
22 янв '22 в 17:26
2 ответа

Как заставить SortedSet обновлять позицию старого значения?

У меня есть следующий объект, который я хотел бы сохранить в контейнере, который сортируется при вставке и не содержит дубликатов, поэтому я использую from sortedcontainers import SortedSet, SortedList class R(): def __hash__(self): return hash(self…
01 июн '22 в 19:06
2 ответа

Сложность времени, повторяющаяся по элементам в SortedDict?

from sortedcontainers import SortedDict d = SortedDict(b=20, d=30, c=10, e=50, a=40) # What is the time complexity of the following code? for k, v in d.items(): print(k, v) Я думаю, что временная сложность должна бытьnlog(n)так как получение записи…
09 окт '22 в 01:06
0 ответов

Python sortedcontainers работает слишком медленно

#Это мой код from sortedcontainers import SortedList, SortedSet, SortedDict import timeit import random def test_speed1(data): SortedList(data) def test_speed2(data): sorted_data = SortedList() for val in data: sorted_data.add(val) data = [] numpts …
09 дек '22 в 15:33
1 ответ

Как мы можем использовать SortedList в качестве параметра в SortedDict в Python?

Я пытаюсь использовать SortedList из библиотеки sortedcontainers в качестве параметра для SortedDict . Несмотря на то, что инициализацияmaps = SortedDict(SortedList())работал. Я не могу вставить какие-либо данные в SortedDictmaps from sortedcontaine…
2 ответа

Как использовать бинарный поиск в существующем SortedList с ключевой функцией?

Я хотел бы использовать бинарный поиск наSortedList с ключевой функцией, например, аналогичноbisect_right() вbisect модуль. Однако,SortedList.bisect_right() поддерживает только поиск по значению. Как заставить его работать с ключевой функцией?
26 фев '23 в 17:08
2 ответа

Получите минимум SortedKeyList с условием для атрибута объекта.

У меня есть объекты, отсортированные по метке времени, у объектов также есть еще один атрибут — идентификатор. Я пытался получить самый ранний элемент списка на основе идентификатора. Это пример кода: import numpy as np import sortedcontainers class…
06 мар '23 в 09:31