如何使用python中的第二个键对对列表进行排序?

时间:2019-05-11 22:08:54

标签: python list sorting

我有一个嵌套列表的列表:

e = [['Tina', 37.2], ['Harsh', 39], ['Harry', 37.21], ['Berry', 37.21], ['Akriti', 41]]

您如何按数值排序,而名称却“跟随”“等级”? 我可以使用dict,但我认为这没有意义。

3 个答案:

答案 0 :(得分:1)

e.sort(key=lambda item: item[1])

答案 1 :(得分:1)

您可以使用自定义键对列表进行排序:

result = sorted(e, key = lambda x : x[1])

答案 2 :(得分:0)

在您的示例中,Harry和Berry具有相同的值。

如果您希望按姓名对领带进行排序,那么已经得到的答案的变体将是这样的:

e = [['Tina', 37.2], ['Harsh', 39], ['Harry', 37.21], ['Berry', 37.21], ['Akriti', 41]]

e.sort(key=lambda x:(x[1], x[0]))

print(e)
#[['Tina', 37.2], ['Berry', 37.21], ['Harry', 37.21], ['Harsh', 39], ['Akriti', 41]]