is there a built in function to compute the overlap between two discrete intervals, e.g. the overlap between [10, 15] and [20, 38]? In that case the overlap is 0. If it's [10, 20], [15, 20], the overlap is 5.
You can use max and min:
>>> def getOverlap(a, b): ... return max(0, min(a[1], b[1]) - max(a[0], b[0])) >>> getOverlap([10, 25], [20, 38]) 5 >>> getOverlap([10, 15], [20, 38]) 0
2.1m questions
2.1m answers
60 comments
57.0k users