如何对xy坐标列表进行排序

我需要对[x,y]看起来像这样的坐标列表进行排序:

list = [[1,2],[0,2],[2,1],[1,1],[2,2],[2,0],[0,1],[1,0],[0,0]]

我在排序后寻找的模式是:

[x,y]坐标应先排序y,然后再排序x。新列表应如下所示:

list = [[0,0],[1,0],[2,0],[0,1],[1,1],[2,1],[0,2],[1,2],[2,2]]

我不知道该怎么做,将不胜感激。

回答:

sorted与键配合使用:

>>> my_list = [[1,2],[0,2],[2,1],[1,1],[2,2],[2,0],[0,1],[1,0],[0,0]]

>>> sorted(my_list , key=lambda k: [k[1], k[0]])

[[0, 0], [1, 0], [2, 0], [0, 1], [1, 1], [2, 1], [0, 2], [1, 2], [2, 2]]

它将首先对y值进行排序,如果相等,则将对x值进行排序。

我也建议不要将其list用作变量,因为它是内置数据结构。

以上是 如何对xy坐标列表进行排序 的全部内容, 来源链接: utcz.com/qa/413745.html

回到顶部