Java TreeMap/TreeSet的Python实现

pytreemap的Python项目详细描述


pytreemapBuild Statuscodecov

Java树映射/树的Python实现。在

安装

使用pip安装:

pip install pytreemap

文件

可以在以下位置访问文档:https://gavinphr.github.io/pytreemap/

基本用途

这个演示旨在向您展示这个包中可用的基本操作。 有关更多详细信息,请参阅文档。在

导入并实例化

^{pr2}$

插入键值映射

>>>tm[5]='Python is great!'>>>print(tm){5=Pythonisgreat!}>>>tm[10]='Java is also nice!'>>>print(tm){5=Pythonisgreat!,10=Javaisalsonice!}>>>tm.put(-1,'We love them both!')>>>print(tm){-1=Welovethemboth!,5=Pythonisgreat!,10=Javaisalsonice!}

搜索键

>>>tm[5]'Python is great!'>>>tm[2]KeyError:'key not found'>>>tm.get(2)# No error is raised

删除键值映射

>>>deltm[10]>>>print(tm){-1=Welovethemboth!,5=Pythonisgreat!}>>>deltm[2]KeyError:'key not found'>>>tm.remove(2)# No error is raised

检查是否存在一些钥匙

>>>2intmFalse>>>-1intmTrue>>>tm.contains_key(-1)True

迭代键/值/项

>>>[keyforkeyintm][-1,5]>>>[keyforkeyintm.key_set()][-1,5]>>>[valueforvalueintm.values()]['We love them both!','Python is great!']>>>[entryforentryintm.entry_set()][-1=Welovethemboth!,5=Pythonisgreat!]

测试

Java中与TreeMap相关的大多数测试都通过了。查看tests/目录以了解更多详细信息。在

基准

所有的基准测试都是在一台带有英特尔酷睿i7-7700hqcpu和16GB内存的笔记本电脑上完成的。在

由于这个包是Java树映射的实现,所以基准测试集中在比较这个包和Java树映射之间的性能。在

这个包目前是用纯Python编写的,它比Java慢得多,尤其是当树很大的时候。在

一个Cython版本正在制作中。在

基准程序:

  1. 准备具有不同键的n个条目。(n范围从1000到60000,间隔1000)

  2. 将它们随机插入/移除/搜索到地图中,并记录完成时间。在

  3. 再重复步骤1-2两次,取结果的平均值。在

以下是使用Java TreeMap的结果:

下面是使用pytreemap的结果:

将这些图叠加在一起,我们可以看到pytreemap慢了大约30倍:

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java显示ArrayList中的文本   在Android/Java平台上加密共享密钥   java如何解决此错误{无法启动组件[Connector[HTTP/1.18080]]}?   java无法初始化ActionListener中的类。。。请帮忙!   在Java中访问无顶级类的非顶级类的编译器构造   java前向标头变量Spring Boot   java查找JSF资源的路径   通过Android应用程序中的ContentProvider对临时字段进行java查询   JavaSWT中的Resizeble对话框   java为什么将变量声明为int类型需要强制转换流?长类型不需要强制转换   java应用程序主题在预览中显示,但不在手机上显示   java FirebaseRecyclerAdapter未在我的RecyclerView布局中显示数据   javasocket大容量读取返回一个零数组   java JMX数据作为JSON   java您的应用程序已使用来自Google Cloud SDK的最终用户凭据进行身份验证,而translate不支持这些凭据。古格里皮斯。通用域名格式   java ORA02289:序列不存在,但数据库中不存在序列   在Java中如何将对象数组转换为列表?   java如何在eclipse中进行代码格式转换?