在Python 2.5中(因GAE)可以实现有序字典吗?
我刚开始学习Python,现在在使用Google App Engine,而它目前只支持Python 2.5。请问有没有现成的方法可以创建一个有序字典,还是说我需要自己实现一个?
3 个回答
0
你可以对一个字典的条目(也就是键值对)列表进行排序,对吧?
0
OrderedDict是在Python 2.7中新增的功能,所以没有现成的方法可以做到这一点——你需要自己来实现。
通常,顺序字典是通过一个字典和一个链表节点来实现的,这些节点按照访问的顺序连接在一起。自己实现这个应该是比较简单的。
4
Django 提供了一个叫做 SortedDict 的类,它的功能和其他字典差不多。如果你在用 Django,可以直接使用 from django.utils.datastructures import SortedDict
这行代码。
即使你不使用 Django,也可以利用这个实现。只需要从 Django 的源代码中获取 datastructures.py 文件,然后把它保存到一个可以导入的地方。
http://code.djangoproject.com/browser/django/trunk/django/utils/datastructures.py