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 を返します。