0

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

overlap([a, b], [c, d])如果间隔相同,则应返回 0,当它们重叠但不相同时返回 N(其中 N 是重叠),如果它们不重叠,则返回 None。

谢谢。

编辑overlap具有误导性,我的意思是间隔不重叠的大小。所以 0 是它们是相同的。

4

1 回答 1

3

它并没有比 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,对于不重叠的间隔也将返回 None。

于 2012-06-14T03:29:20.623 回答