【发布时间】:2016-05-21 15:23:00
【问题描述】:
我使用的是 Python 2.7.x。我有一本字典(我的意思是{}),键是int,值是字符串。我想检索具有最小整数值的键。在 C++ 中,我认为我们可以使用 map,它对键进行排序。在 Python 中,不确定我们是否可以利用类似的东西?如果我的理解是正确的,Python 字典(我的意思是{})不是按键排序的。
提前致谢, 林
【问题讨论】:
-
如果可以提前排序,也许docs.python.org/2/library/…
-
@LinMa:不,你不需要
dict,一个RB树就足以完成关联容器的事情(键=>值映射是O(log n))和保持排序的东西(std::map通常实现为 RB 树)。但是请注意,dict在一般情况下具有 O(1) 查找(如 C++ 中的std::unordered_map),并且在解释器中直接用 C 语言编写,因此,根据实现,RB 树可能要慢得多(尤其是如果它是用纯 Python 实现的)。 -
@LinMa:任何需要查找的东西。
-
@LinMa:they claim
SortedDictis faster 不是基于树的实现,但请随意对两者进行基准测试,看看哪种方法最适合您。从使用的角度来看,它们应该基本相同。
标签: python c++ dictionary