区间重叠大小

区间重叠大小

问题描述:

Python中用于计算区间重叠大小的最简洁方法是什么?区间重叠大小

overlap([a, b], [c, d])如果区间相同,则N应该返回0但不相同(其中N重叠),如果它们不重叠则返回无。

谢谢。

编辑overlap是误导我的意思是间隔不重叠的大小。所以0是相同的。

+2

http://*.com/questions/2953967/built-in-function-for-computing-overlap-in-python? – sjr

+1

如果间隔相同,为什么要返回0?这似乎与间隔重叠时返回N不一致,但不相同。 –

+1

请举例说明一些重叠。它将澄清这个问题。 – damned

它没有得到更简洁比由SJR链接到问题接受的答案,但:

def overlap(a,b,c,d): 
    r = 0 if a==c and b==d else min(b,d)-max(a,c) 
    if r>=0: return r 

也会为相同的时间间隔和无要求返回0,非重叠的时间间隔。

+0

0应该返回相同的时间间隔,而不是“无”。另外,你写的函数将会返回'None'作为任何输入。 – WolframH

+0

@WolframH:对,固定。 – Junuxx