如何从Python 3中的嵌套列表中仅对子列表的某些元素进行排序

时间:2015-07-15 11:14:38

标签: python sorting sublist

我有一个嵌套列表。例如:

data=[['Alan', 8, 4, 5], ['Jog', 10, 1, 2], ['Rhys', 7, 8, 8], ['Sam', 7, 8, 9], ['Tom', 5, 6, 9], ['Tommo', 5, 4, 6]]

现在我想将子列表中的数字按降序排序,最后在Python 3中按字母顺序排列嵌套列表。

因此输出数据应为:

[['Alan', 8, 5, 4], ['Jog', 10, 2, 1], ['Rhys', 8, 8, 7], ['Sam', 9, 8, 7], ['Tom', 9, 6, 5], ['Tommo', 6, 5, 4]]

其中Rhys,Sam,Tom和Tommo中的数字按降序重新排序。

1 个答案:

答案 0 :(得分:0)

您可以使用列表推导:

[[list[0]] + sorted(list[1:], reverse=True) for list in sorted(data)]