Python 2.6 TreeMap / SortedDictionary?

Есть ли в Python 2.6 реализация встроенного отсортированного словаря или хэш-таблицы - единственный вид?

Разъяснения:

  • Я спрашиваю о отсортированных словарях, не о упорядоченных словарях!

person user541686    schedule 30.07.2011    source источник
comment
возможный дубликат упорядоченного по ключу dict в python   -  person wim    schedule 19.03.2013


Ответы (4)


Думаю, здесь нет.

Древовидная карта есть, но ее нет в стандартной библиотеке Python.

http://pypi.python.org/pypi/treemap/

Я думаю, что те, кому не нравится мой ответ, могут подумать, что он неправильный из-за недавнего обновления. Обратите внимание, что это для Python 2.6, а не 2.7 или Python 3.

Добавьте правильный ответ, если вы все еще думаете, что он неправильный или бесполезный, или, по крайней мере, укажите причину, по которой вы считаете это плохим ответом.

person Community    schedule 30.07.2011
comment
+1 Забавно, что у Python должен был быть действительно полный набор функций, и все же я сталкиваюсь со многими вещами, которые у него нет встроенных (различные контейнеры, циклы do-while, операторы переключения и т. Д.) . :( - person user541686; 31.07.2011
comment
Да, отсутствие операторов do-while и switch было одной из вещей, которые я бы хотел, чтобы они присутствовали в python, но теперь я привык к их отсутствию и даже не замечаю их отсутствия. - person James Hurford; 31.07.2011
comment
Не уверен на 3+, но на 2.7 его тоже нет. Дайте совет, как его сделать здесь, но по умолчанию его все еще нет: docs.python.org/2/library/ - person ShawnFumo; 03.09.2013
comment
И вопрос заключался в том, есть ли встроенный сортированный словарь в Python 2.6, и ответ отрицательный, независимо от того, существует ли он в Python 2.7 или Python 3+. - person James Hurford; 24.09.2013
comment
Ссылка на самом деле ведет к библиотеке Python, которая создает визуализацию Treemap вместо структуры данных Treemap. - person Llama.new; 17.09.2016
comment
Совершенно верно, но основной ответ, который я дал, по-прежнему верен. Возможно, мне стоило исключить эту библиотеку в своем ответе, но я этого не сделал. А для python 2.6 ответ по-прежнему отрицательный. - person James Hurford; 02.11.2016

Встроенного нет, в качестве стороннего пакета вы можете проверить блист, вот документ для sorteddict.

person mouad    schedule 30.07.2011

Если под встроенным вы имеете в виду стандартную установку python, ответ отрицательный.

Если вы имеете в виду тот же уровень реализации, что и встроенный dict Python, то взгляните на мою реализацию sorteddict и ordersdict на языке C: http://anthon.home.xs4all.nl/Python/ordereddict/

person Anthon    schedule 18.06.2012

Я написал версию Java TreeMap / TreeSet для Python.

Исходный код и документация доступны в этом репозитории

Вы можете установить с pip install pytreemap. Протестировано на Python ›= 3.5

person GavinPHR    schedule 24.06.2020