Я новичок в Python и с помощью Google App Engine, который в настоящее время работает только с Python 2.5. Существуют ли какие-либо встроенные способы создания упорядоченного словаря или мне нужно что-то реализовать?Можно заказать упорядоченный словарь в python 2.5 (из-за GAE)?
ответ
Django предоставляет класс SortedDict, который имеет одинаковую функциональность. Если вы используете django, вы можете просто использовать from django.utils.datastructures import SortedDict
.
Даже если вы не используете django, вы все равно можете воспользоваться этой реализацией. Просто загрузите файл datastructures.py из источника django и сохраните его где-нибудь импортируемым.
http://code.djangoproject.com/browser/django/trunk/django/utils/datastructures.py
Вы можете сортировать dict.items()
лист (из кортежей) .. не можете?
OrderedDict является новым в 2.7, поэтому нет, нет встроенного способа сделать это - вам придется реализовать свои собственные.
Обычно упорядоченный словарь реализуется как словарь связанных узлов списка, связанных в порядке обхода. Это должно быть достаточно простым для реализации.
'SortedDict' является неправильным - он поддерживает порядок вставки и не сортировать, например, с помощью клавиши Dict. Это больше похоже на «OrderedDict». Также см. Http://pypi.python.org/pypi/ordereddict, который также можно удалить. – user650654