关于 C++ std::map (这是一个排序字典),我怀念的一点是查找键会返回一个指向映射中正确位置的迭代器。这意味着您可以查找一个键,然后从那里开始迭代,例如如果键实际上是您感兴趣的范围的开头,或者如果您想要“我的字典中紧随键之后的项目”。
还有其他一些Python字典支持这种功能吗?
最佳答案
集合模块中 Python 的原生 OrderedDict 类不支持从随机选择的键向前推进的操作。还有其他支持该操作的有序字典实现。其中之一可能会满足您的需求:
- http://dev.pocoo.org/hg/sandbox/raw-file/tip/odict.py
- http://babel.edgewall.org/browser/trunk/babel/util.py?rev=374#L178
- http://code.djangoproject.com/browser/django/trunk/django/utils/datastructures.py?rev=7140#L53
- http://www.voidspace.org.uk/python/odict.html
- http://www.xs4all.nl/~anthon/Python/ordereddict/
- http://pypi.python.org/pypi/StableDict/0.2
- http://codespeak.net/svn/user/arigo/hack/pyfuse/OrderedDict.py
关于具有返回迭代器的查找功能的 Python 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7970534/