0
我有打印出Rects列表這樣如何從列表中找到最接近給定矩形的矩形?
[<rect(394, 28, 80, 100)>, <rect(394, 126, 80, 100)>, <rect(394, 224, 80, 100)>, <rect(472, 28, 80, 100)>, <rect(472, 126, 80, 100)>]
的功能,我正在尋找一種方式,以符合上述任何給定的矩形從列表中最接近的矩形。
例如,像這樣一個給定的Rect <rect(377, 231, 50, 70)>
將與<rect(394, 224, 80, 100)>
匹配並打印出來。
我已經試過這樣做,與元組和元組的列表,通過使用min函數這樣
temp_list = [(1, 3), (4, 9), (5, 7), (3, 5), (9, 4), (8, 4), (6, 1)]
temp_tuple = (5, 11)
nearest = min(temp_list, key=lambda c: (c[0] - temp_tuple[0]) ** 2 + (c[1] - temp_tuple[1]) ** 2)
print(nearest)
,但我不知道我怎麼會做它矩形數據類型。
,您已經對Python的做什麼正確的觀念,你的問題是,它沒有很好地界定哪兩個rects之間的距離是。它應該是中心之間的距離嗎?角落之間的平均距離?雙方的平均距離? –