簡體   English   中英

按降序排序python

[英]Sort in descending order python

我想按位置降序排序。 鑒於:

name = ["Shawn", "Patrick", "Nancy", "Viola"]

position = [3,1,4,2]
   
l =[name,positions]    

l.sort(key=lambda x: x[1])

l = [name, positions]更改為l = list(zip(name,position))

>>> name = ["Shawn", "Patrick", "Nancy", "Viola"]
>>> position = [3,1,4,2]
>>> l = list(zip(name,position))
>>> l.sort(key=lambda x: -x[1])
>>> l
[('Nancy', 4), ('Shawn', 3), ('Viola', 2), ('Patrick', 1)]

還要注意修改后的降序排序鍵。

  • 使用zip將相應位置的項目配對。 (這將產生一個可迭代對象,因此要么轉換為列表,要么使用sorted而不是.sort 。)
  • 要顛倒順序,請使用-x[1]作為鍵,或傳遞reverse=True
  • (打字錯誤)一致地命名position變量。
  • (style) 避免使用l作為變量名,因為它可能與1I混淆。
name = ["Shawn", "Patrick", "Nancy", "Viola"]
position = [3, 1, 4, 2]
l = zip(name, position)
l = sorted(l, key=lambda x: x[1], reverse=True)

暫無
暫無

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

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