2010-10-12 5 views
1

Я новичок в Python и с помощью Google App Engine, который в настоящее время работает только с Python 2.5. Существуют ли какие-либо встроенные способы создания упорядоченного словаря или мне нужно что-то реализовать?Можно заказать упорядоченный словарь в python 2.5 (из-за GAE)?

ответ

4

Django предоставляет класс SortedDict, который имеет одинаковую функциональность. Если вы используете django, вы можете просто использовать from django.utils.datastructures import SortedDict.

Даже если вы не используете django, вы все равно можете воспользоваться этой реализацией. Просто загрузите файл datastructures.py из источника django и сохраните его где-нибудь импортируемым.

http://code.djangoproject.com/browser/django/trunk/django/utils/datastructures.py

+0

'SortedDict' является неправильным - он поддерживает порядок вставки и не сортировать, например, с помощью клавиши Dict. Это больше похоже на «OrderedDict». Также см. Http://pypi.python.org/pypi/ordereddict, который также можно удалить. – user650654

0

Вы можете сортировать dict.items() лист (из кортежей) .. не можете?

0

OrderedDict является новым в 2.7, поэтому нет, нет встроенного способа сделать это - вам придется реализовать свои собственные.

Обычно упорядоченный словарь реализуется как словарь связанных узлов списка, связанных в порядке обхода. Это должно быть достаточно простым для реализации.

Смежные вопросы