如何按特定索引对列表进行排序

时间:2020-06-13 15:56:05

标签: python python-3.x list

update sessions
set time = left(time, 8)

我想让人的身高与上面打印的体重较轻的人相同 我的代码输出:

list1=[('Oliver', 75, 180), ('Jack', 90, 190), ('Harry', 75, 175), ('Jacob', 60, 175), ('Charlie', 80, 180), ('Thomas', 70, 180)]

sorted(list1 , key = itemgetter(2 , 1) , reverse=True)

我的愿望输出:

[('Jack', 90, 190), ('Charlie', 80, 180), ('Oliver', 75, 180), ('Thomas', 70, 180), ('Harry', 75, 175), ('Jacob', 60, 175)]

我使用python3

1 个答案:

答案 0 :(得分:0)

您可以尝试

sorted(list1 , key = lambda x: (x[2], -x[1]) , reverse=True)

输出

[('Jack', 90, 190),
 ('Thomas', 70, 180),
 ('Oliver', 75, 180),
 ('Charlie', 80, 180),
 ('Jacob', 60, 175),
 ('Harry', 75, 175)]

如果高度相同,这将按最高高度和最低重量对列表进行排序。

相关问题