我需要对[x,y]坐标列表进行排序,如下所示:
list = [[1,2],[0,2],[2,1],[1,1],[2,2],[2,0],[0,1],[1,0],[0,0]]
Run Code Online (Sandbox Code Playgroud)
我在排序后寻找的模式是:
[x,y]坐标应首先排序y,然后按x.新列表应如下所示:
list = [[0,0],[1,0],[2,0],[0,1],[1,1],[2,1],[0,2],[1,2],[2,2]]
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何做到这一点,并希望得到一些帮助.
AKS*_*AKS 19
使用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]]
Run Code Online (Sandbox Code Playgroud)
它将首先对y值进行排序,如果相等,那么它将对x值进行排序.
我还建议不要list用作变量,因为它是一个内置的数据结构.