一个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:Span
,builtins.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]