一个range类,用一个类似集合的api和相关函数实现紧凑整数范围

cs.range的Python项目详细描述


范围是一个类似集合的对象,但优化为连续的 int成员的范围。

函数overlap(span1, span2)

返回表示两个跨距重叠的列表[start,end]

示例:

>>> overlap([1,9], [5,13])
[5, 9]

Range

整理相邻Int的Int集合。

这个接口就像一个set带有附加方法:

  • spans():用.start返回Spans的iterable 包括在每个Span.end

另外,update/remove/etc方法有一个辅助 调用签名:(start,end),这与传递相同 但效率更高。

Span

mro:Spanbuiltins.tuple
具有.start.end属性的namedtuple。

函数spans(items)

为中的所有连续序列返回Spans的iterable items

示例:

>>> list(spans([1,2,3,7,8,11,5]))
[1:4, 7:9, 11:12, 5:6]

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

推荐PyPI第三方库


热门话题
java如何在Android的Rest服务中传递列表<Integer>对象和字符串   java Hibernate集合初始化问题   java用ByteBuddy定义一个方法、调用、拦截器和委托给目标?   java递归对象删除   java用标签填充GridPane   java使用ApachePOI在word文档中添加水印   java如何可视化地使用在NetBeans中扩展组件的类?   javascript如何在java web应用程序中刷新页面后保留选中的单选按钮   在Java中,小程序试图使用MouseListener绘制矩形会导致程序崩溃,而不会生成异常   java如何在子注释上下文中使用spring属性源?   当应用到FactoryBean时,java会执行Spring的@Lazy工作吗?   java验证二进制代码和无无限循环的重复程序   java如何将ArgumentCaptor与Mockito一起使用。when()。然后返回()   使用JPA为视图定义DTO和存储库的java问题