Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Python中计算间隔重叠大小的最简洁方法是什么?
overlap([a, b], [c, d])如果间隔相同,则应返回 0,当它们重叠但不相同时返回 N(其中 N 是重叠),如果它们不重叠,则返回 None。
overlap([a, b], [c, d])
谢谢。
编辑:overlap具有误导性,我的意思是间隔不重叠的大小。所以 0 是它们是相同的。
overlap
它并没有比 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。