一个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中的PDF文件   linux Java打开文件,形成实际用户主页~/   java如何在时间线内维护TableView选择?   java Hibernate注释@Where vs@WhereJoinTable   Java读/写访问异常FileNotFoundException(访问被拒绝)   继承在Java中是否可以扩展最后一个类?   Android HttpClient使用java使应用程序崩溃。lang.OutOfMemoryError:pthread_create   java为什么即使我在proguardproject中添加了jar文件,也会出现这种错误。txt?   如果添加JButton,swing Java FocusListener和KeyListener将无法工作   java使用solrj检索json格式的SolrDocument   使用Microsoft Visual Studio代码进行Java编程   java NoClassDefFoundError:org/apache/log4j/Logger   哈希集中包含相等对象的java   java中的参数化构造函数是否需要有一个主体?   java类似于NetBeans不必要的代码检测器   Java实践问题   java Blackberry“[projectname].调试文件丢失”和“I/O错误:找不到程序”jar