简体   繁体   English

按不同顺序的多个键对字典列表进行排序

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

I need sort this list of dictionaries: 我需要对这个词典列表进行排序:

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

Ordering should be: 订购应该是:

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

I only found out how to sort all keys in ascending or descending ( reverse=True ): 我只发现了如何按升序或降序排序所有键( reverse=True ):

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

Can anybody help, how to sort in key-different ordering? 任何人都可以帮助,如何按键不同的顺序排序?

if you have numbers as values, you can use this: 如果您将数字作为值,则可以使用:

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

For general values: 对于一般值:

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