python - Python3 中的 java TreeMap 类比
问题描述
作为一个学习 Python 的 java 人,我试图找到语言之间的相似之处。我在 python 中找到了集合模块以及类似于 java 集合框架的内置结构(这篇文章涵盖了What is/are the Python equivalent(s) to the Java Collections Framework?)。
但我还没有找到 TreeMap 的类似物——基于红黑树的地图——按键排序的地图并保证获取、放置和删除操作的 log(n) 时间成本
Python 3.x 中有这样的结构吗?
解决方案
看起来我找到了答案:https ://pypi.org/project/sortedmap/ 。正如作者提到的,它由红黑树支持。
此外,为了提供 SortedMap 功能,可以使用以下库http://www.grantjenks.com/docs/sortedcontainers/introduction.html。它不是使用红黑树,而是使用使用 bisect 模块排序的键列表。
推荐阅读
- c# - WCF方式与多个服务器通信客户端
- javascript - 附加 [i] 命名项目
- python - 如何将 valuesqueryset 转换为带有日期时间的 JSON?
- java - Javers 在比较 java.sql.Timestamp 和 java.util.Date 字段时显示差异,即使日期字段没有更改
- thingsboard - 如何更改 Thingsboard 中的现有别名
- oop - 我对相互依赖的类使用什么模式
- c# - 如何将多键哈希从 perl 移植到 ac# 等效项?
- gnuplot - Gnuplot multiplot 中的双列图
- php - 如何使用 preg_replace 和 preg_quote 处理字符串(不区分大小写)?
- content-management-system - 如何在 Magnolia 应用程序中使用 FreeMarker 模板?