[英]How to sort a list by a specific index
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)
我想如果人的身高与我的代码 output 上方打印的体重较轻的人相同:
[('Jack', 90, 190), ('Charlie', 80, 180), ('Oliver', 75, 180), ('Thomas', 70, 180), ('Harry', 75, 175), ('Jacob', 60, 175)]
我的愿望 output:
[('Jack', 90, 190), ('Thomas', 70, 180),('Oliver', 75, 180),('Charlie', 80, 180), ('Jacob', 60, 175), ('Harry', 75, 175)]
我用python3
你可以试试
sorted(list1 , key = lambda x: (x[2], -x[1]) , reverse=True)
Output
[('Jack', 90, 190),
('Thomas', 70, 180),
('Oliver', 75, 180),
('Charlie', 80, 180),
('Jacob', 60, 175),
('Harry', 75, 175)]
如果高度相同,这将按最高高度和最低重量对列表进行排序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.