我已經爲此搜索了很多時間。我對使用關鍵參數進行排序有一些想法。使用多個鍵排序Python列表
我有這樣的元組列表。它是通過OpenCV Hough Circle檢測得到的。
correctC = [(298, 172, 25), (210, 172, 25), (470, 172, 25), (386, 172, 22), (648, 172, 25), (384, 44, 22), (558, 110, 22), (562, 170, 25), (382, 108, 25), (734, 172, 25), (126, 172, 24), (646, 44, 22), (296, 110, 23), (126, 234, 26), (470, 236, 25), (296, 44, 25), (208, 108, 24), (38, 170, 25), (730, 110, 22), (730, 44, 25), (468, 110, 23), (468, 44, 25), (208, 44, 25), (124, 44, 22), (558, 44, 22), (36, 110, 24), (36, 44, 22), (298, 234, 26), (210, 236, 25), (648, 234, 25), (732, 234, 22), (562, 234, 26), (384, 236, 25), (38, 234, 26), (646, 110, 25), (124, 112, 27)]
它有3個值。中心座標(x,y)和半徑。
我需要使用它的x和y值對所有元組進行排序。
我可以單獨做這個排序。
xS=sorted(correctC,key=lambda correctC: correctC[0])
這被排序根據x值僅。
yS=sorted(correctC,key=lambda correctC: correctC[1])
這被排序根據Y值僅。
如何使用一個表達式來執行兩個操作(根據x值和y值)()?
我使用Python 2.7
小於,等於,大於x和y的定義是什麼?具體來說,哪個更少,(1,2,3)或(2,1,3),還是他們被認爲是相等的排序?還是應該將x和y轉換爲極座標,並使用長度進行排序? –
'correctC'是lambda參數的錯誤名稱,因爲您正在重複使用列表及其元素的相同變量名稱。 – user2357112
你應該添加預期的輸出到你的問題。 –