<分区>
我需要对 [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]]
我不知道该怎么做,希望得到一些帮助。
<分区>
我需要对 [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
带 key :
>>> 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
用作变量,因为它是 built-in data structure .
关于python - 如何对 x-y 坐标列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37111798/