python - 对列表列表进行排序

标签 python sorting

所以我有如下列表:

points = [[0, 0], [5, 3], [0, 5], [0, 2], [1, 3], [5, 3]]

我一直在用

points.sort(key=lambda pair: pair[0])

对列表进行排序。但这只会按第一个值对其进行排序,而不会查看第二个值。

这段代码的结果如下:

[[0, 0], [0, 5], [0, 2], [1, 3], [5, 3], [5, 3]]

但是,我想排序的结果是:

[[0, 0], [0, 2], [0, 5], [1, 3], [5, 3], [5, 3]]

我该怎么做?

另外,当我们这样做时,我如何从这个列表中删除重复项?最终结果应该是这样的:

[[0, 0], [0, 2], [0, 5], [1, 3], [5, 3]]

最佳答案

Python 已经按照字典顺序对可迭代容器(元组、列表...)和字符串进行排序。

>>> points = [[0, 0], [5, 3], [0, 5], [0, 2], [1, 3], [5, 3]]
>>> sorted(points)
[[0, 0], [0, 2], [0, 5], [1, 3], [5, 3], [5, 3]]

关于python - 对列表列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48162419/

相关文章:

python - 遍历Odoo计划操作中的所有记录

python - pyodbc - "Data source name not found, and no default driver specified"

sorting - 有效地找到极值

javascript - 如何打印数组中变量的名称?

javascript - 我想要在 li.. 内升序第二个 div?

python - python scapy portscanner 的问题

python - 如何在 BaseClass 方法被 Python 中的 DerivedClass 方法覆盖之前执行它

python - 在 Python 中运行时出现 MySQL 查询错误,但在直接运行时却没有

datetime - 如何在 extjs4 网格中设置默认排序列并更改日期格式?

javascript - 冒泡排序算法有一个错误,一些编号列表在 NodeJS 中不能正确排序