我已经为此搜索了很多时间。我对使用关键参数进行排序有一些想法。使用多个键排序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
你应该添加预期的输出到你的问题。 –