[英]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.