Skip to main content

a Range class implementing compact integer ranges with a set-like API, and associated functions

Project description

A Range is an object resembling a set but optimised for contiguous ranges of int members.

Function overlap(span1, span2)

Return a list [start,end] denoting the overlap of two spans.

Example:

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

Class Range

A collection of ints that collates adjacent ints.

The interface is as for a set with additional methods:

  • spans(): return an iterable of Spans, with .start included in each Span and .end just beyond

Additionally, the update/remove/etc methods have a secondary calling signature: (start,end), which is the same as passing in Range(start,end) but much more efficient.

Class Span

MRO: Span, builtins.tuple
A namedtuple with .start and .end attributes.

Function spans(items)

Return an iterable of Spans for all contiguous sequences in items.

Example:

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cs.range-20190102.tar.gz (5.9 kB view details)

Uploaded Source

File details

Details for the file cs.range-20190102.tar.gz.

File metadata

  • Download URL: cs.range-20190102.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.23.0 CPython/3.6.6

File hashes

Hashes for cs.range-20190102.tar.gz
Algorithm Hash digest
SHA256 c72cd7f78aa889a758f8a50984300d5760dca54485561ebb78be0f818aba10d3
MD5 9437c4ac84279be5d948ceabbdc4343c
BLAKE2b-256 53d7dd71c9ca82a154ac013691276ac0066982854594df01d8fd87c89afca5cf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page