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

发布于 2021-01-29 15:26:30

关闭。 这个问题需要调试细节。它当前不接受答案。


想改善这个问题吗? 更新问题,使其成为Stack Overflow的主题

4年前关闭。

改善这个问题

我需要对[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]]

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

关注者
0
被浏览
197
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    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用作变量,因为它是内置数据结构



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看