在Python中,如果需要確定兩個范圍之間是否有交,可以使用以下代碼:
def has_intersection(r1, r2): return not (r2[0] >r1[1] or r1[0] >r2[1])
該函數接收兩個元組r1和r2,每個元組表示一個范圍。元組中的第一個元素表示范圍的左端點,第二個元素表示右端點。函數返回一個布爾值,如果兩個范圍有交,返回True,否則返回False。
使用該函數的一個例子是,如果需要檢查兩個矩形是否有交,可以按照以下方式進行:
r1 = (0, 0, 10, 10) # 左上角為(0, 0),右下角為(10, 10)的矩形 r2 = (5, 5, 15, 15) # 左上角為(5, 5),右下角為(15, 15)的矩形 if has_intersection((r1[0], r1[1]), (r2[0], r2[1])): print("矩形有交") else: print("矩形沒有交")
上述代碼先將兩個矩形的左上角作為一個范圍,右下角作為另一個范圍,分別傳入has_intersection函數進行判斷是否有交。在這個例子中,結果應該是有交。
總結一下,Python中可以使用簡單的代碼來判斷兩個范圍是否有交。這在處理圖形的交集、集合的相交等問題中非常有用。
上一篇python 獲取上上層
下一篇es數據庫json查詢