Я разрабатываю класс TreeDict в Python. Это в основном диктовка, которая позволяет вам получить свои пары ключ-значение в отсортированном порядке, как и класс коллекции Treemap в Java.Что можно использовать «TreeDict» (или Treemap) на практике?
Я реализовал некоторые функции, основанные на том, как можно использовать уникальные индексы в реляционных базах данных, например. функции, позволяющие вам извлекать значения, соответствующие диапазону ключей, ключи больше, меньше или равные определенному значению в отсортированном порядке, строки или кортежи, которые имеют определенный префикс в отсортированном порядке и т. д.
К сожалению, я не может думать о какой-либо реальной жизненной проблеме, которая потребует такого класса. Я подозреваю, что причина, по которой мы не сортировали dicts в Python, состоит в том, что на практике они не требуются достаточно часто, чтобы быть достойными этого, но я хочу, чтобы вас доказали неправильно.
Можете ли вы придумать какие-либо конкретные применения «TreeDict»? Любая проблема в реальной жизни, которая лучше всего будет решена этой структурой данных? Я просто хочу знать наверняка, стоит ли это.
Ум ... Я думаю, что Python 3.0 и 2.7 имеют отсортированные словари. –
Нет, они этого не делают. У них есть упорядоченные словари. Упорядоченные номера не сортируются; они просто поддерживают порядок вставки * элементов, которые они содержат. http://docs.python.org/dev/py3k/library/collections.html#collections.OrderedDict –
@Seun Osewa - Ah.thanks! .... –