按每个子列表的第一个元素排序列表

2024-04-25 16:59:31 发布

您现在位置:Python中文网/ 问答频道 /正文

如何根据列表的第一个元素对列表进行排序?

例如,给出这个未排序的列表:

[[1,4,7],[3,6,9],[2,59,8]]

排序结果应为:

[[1,4,7],[2,59,8],[3,6,9]]

Tags: 元素列表排序
2条回答

如果按嵌套列表的第一个元素排序,则可以简单地使用list.sort()方法。

>>> lis = [[1,4,7],[3,6,9],[2,59,8]]
>>> lis.sort()
>>> lis
[[1, 4, 7], [2, 59, 8], [3, 6, 9]]

如果要进行反向排序,可以在lis.sort()之后使用lis.reverse()

>>> lis.reverse()
>>> lis
[[3, 6, 9], [2, 59, 8], [1, 4, 7]]

使用排序函数并将匿名函数作为值传递给键参数。key=lambda x: x[0]将根据每个子列表中的第一个元素进行排序。

>>> lis = [[1,4,7],[3,6,9],[2,59,8]]
>>> sorted(lis, key=lambda x: x[0])
[[1, 4, 7], [2, 59, 8], [3, 6, 9]]

相关问题 更多 >