簡體   English   中英

按不同順序的多個鍵對字典列表進行排序

[英]Sort list of dictionaries by multiple keys with different ordering

我需要對這個詞典列表進行排序:

[ {K: 1, B: 2, A: 3, Z: 4, ... } , ... ] 

訂購應該是:

  • K - 下降
  • B - 下降
  • A - 升序
  • Z - 上升

我只發現了如何按升序或降序排序所有鍵( reverse=True ):

stats.sort(key=lambda x: (x['K'], x['B'], x['A'], x['Z']))

任何人都可以幫助,如何按鍵不同的順序排序?

如果您將數字作為值,則可以使用:

stats.sort(key=lambda x: (-x['K'], -x['B'], x['A'], x['Z']))

對於一般值:

stats.sort(key=lambda x: (x['A'], x['Z']))
stats.sort(key=lambda x: (x['K'], x['B']), reverse=True) 

暫無
暫無

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

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