快速、简单的区间交叉口

quicksect的Python项目详细描述


https://img.shields.io/badge/install%20with-bioconda-brightgreen.png

说明

quickect是一个基于纯python版本的间隔搜索的快速python/cython实现。 bx-python 我把它取出来,优化并转换成cython,james taylor将它合并到bx python中。 他的进步。

我已经把这个项目从死里带回来了,因为我想要一个快速、简单、无依赖性的时间间隔 树。

许可证是麻省理工学院的。

安装

pip install quicksect

conda install -c bioconda quicksect

使用

>>> from quicksect import IntervalNode, Interval, IntervalTree

最常见的用法是通过IntervalTree:

>>> tree = IntervalTree()
>>> tree.add(23, 45)
>>> tree.add(55, 66)
>>> tree.search(46, 47)
[]
>>> tree.search(44, 56)
[Interval(55, 66), Interval(23, 45)]
>>> tree.insert(Interval(88, 444))
>>> res = tree.find(Interval(99, 100))
>>> res
[Interval(88, 444)]
>>> res[0].start, res[0].end
(88, 444)

这就是你需要知道的关于这棵树的一切。

测试

$python setup.py测试

低水平

在某些情况下,用户可能希望利用访问 树的节点:

>>> inter = IntervalNode(Interval(22, 33))
>>> inter = inter.insert(Interval(44, 55))
>>> inter.intersect(24, 26)
[Interval(22, 33)]
>>> inter.left(Interval(34, 35), n=1)
[Interval(22, 33)]
>>> inter.right(Interval(34, 35), n=1)
[Interval(44, 55)]

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

推荐PyPI第三方库


热门话题
java如何使用JDO(DataNucleus)更新和删除数据?   数组如何在java中对具有双字节字符的字符串执行子字符串   java使用收到的经度和纬度动态更新google地图   java接口引用其实现的内部类   java如何处理JmsChannelFactoryBean错误,是否有可能使用自定义错误通道?   java“点击”网站按钮   排序JAVA:如何根据字段对列表进行排序   事件上的java设置位置不起作用   另一个类中数组中的java对象   在while和if语句中无法访问java代码   swing Java JComboBox外观   数据库Java:MVC实现   使用DOM解析java XML元数据属性   Java if语句保持循环