Сортировка списка словарей несколькими клавишами с различным порядком

Мне нужно отсортировать этот список словарей:

[ {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)