![](/img/trans.png)
[英]How can i sort a list by the second item descending and first one ascending?
[英]How do I Sort a Zipped List of Three Vals where I want first two Reversed (Descending) and Third is not (Ascending)?
我正在嘗試對三個已壓縮的列表進行排序。 我希望它對前兩列(從最高到最低)進行反向排序,然后按升序排列第三列(從最低到最高)。 所以在下面的例子中,首先是最高的世界排名,然后是最高分,然后是名字,按字典順序較短的名字在前。
我可以使用以下內容完成第一部分:
names = ["name1", "McNamealot", "Namey Name Name", "Namey", "afirst"]
scores = [1,3,42,42,5]
world_rankings = [850,750,650,550,450]
zipped = zip(world_rankings, scores, names)
def sorter(item):
return item[0], item[1]
zipperoni = sorted(zipped, key = sorter, reverse = True)
但是,我無法弄清楚如何在不覆蓋前兩列的正確排序的情況下獲得第三列。
我確定我缺少一些基本概念。 任何答案和ofc解釋,將不勝感激。
正確答案:
sorted(zipped, key=lambda item: (-item[0], -item[1], item[2]))
感謝機械豬的超快反應!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.