代码之家  ›  专栏  ›  技术社区  ›  Leonid

Python中是否有类似于C++ STL映射的结构?

  •  17
  • Leonid  · 技术社区  · 15 年前

    有什么结构吗 Python 它支持与 C++ STL map 操作的复杂性与 C++ STL映射 ?

    6 回复  |  直到 15 年前
        1
  •  17
  •   Steve Jessop    15 年前

    dict 通常是足够接近-你想要什么它不做?

    如果答案是“提供订单”,那么它到底出了什么问题 for k in sorted(d.keys()) ? 可能是用了太多的内存?如果你做了很多有序的遍历,穿插着插入,那么好的,重点是,你真的想要一棵树。

    口述 map 定义 作为一个b-树,所以它不允许你做像分离作为一个新的子树的事情 地图 口述 当存在大量散列冲突时,但是在需要严格的最坏情况性能保证的情况下使用Python肯定是非常罕见的。

        2
  •  15
  •   user184968 user184968    9 年前

    Python SoReDICT是一个类似于C++ STL的映射。你可以看看 here here

    SortedDict是一个包含键值对的容器,其中包含一个订单 根据钥匙之间的顺序关系施加在钥匙上。 与Pythons内置的dict数据类型一样,SortedDict支持fast 按键插入、删除和查找。

        3
  •  9
  •   Kos    15 年前

        4
  •  2
  •   log0    15 年前
        5
  •  2
  •   Lawrence Velázquez    15 年前
        6
  •  1
  •   Roman    10 年前

    查看bintrees模块(pip安装bintrees)。这个包提供了用Python和Cython/C编写的二进制RedBlack和AVL树。