簡體   English   中英

如何在python中使用第二個鍵對對列表進行排序?

[英]How can I sort list of pairs using second key in python?

我有一個嵌套列表列表:

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

你如何按數值排序,但名稱“跟隨”“等級”? 我可以使用dict,但我認為它錯過了重點。

您可以使用自定義鍵對列表進行排序:

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

在你的例子中,哈利和貝瑞具有相同的價值。

如果你想要按名稱排序關系,你已經得到的答案的變體將是這樣的:

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]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM