如何使用嵌套列表中的名称按字母顺序对嵌套列表进行排序,然后在Python中按最高值对嵌套列表进行排序

时间:2015-03-09 20:39:42

标签: python list sorting nested

我想知道如何按嵌套列表中的名称字符串按字母顺序对分数列表进行排序,然后按照从最高到最低的值对嵌套列表中的分数进行排序:

例如:

list=[['a', 9, 3], ['we', 2], ['will', 2, 10], ['x', 4], ['z', 4]]

我尝试使用.sort()sorted()以及lambda,但我完全不理解。

预期输出为:

[['a', 9, 3],['we', 2],['will', 10, 2],['x',4],['z', 4]]    

1 个答案:

答案 0 :(得分:0)

嗯,在你的情况下,你想要在没有第一个元素的情况下对内部列表进行排序。您可以使用切片运算符来获取此子列表,也可以替换它:

mylist=[['a', 9, 3], ['we', 2], ['will', 2, 10], ['x', 4], ['z', 4]]
for sublist in mylist:
    sublist[1:] = sorted(sublist[1:], reverse=True)

请注意,最好不要为列表list命名,因为它也是该类型的名称。