天道酬勤,学无止境

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

任何人都可以帮忙,如何按不同的键排序?

回答1

如果你有数字作为值,你可以使用这个:

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) 

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐