Допустим, у нас есть словарь:
m_dict = {'2011-04-01': {'asprin': (232, -7, -4, 1), 'glucose': (3, 4, -3)},
'2011-04-02': {'clb': (-7, -2, 8), 'humulin': (3, -6, -3), 'crack': (7,-5)},
'2011-04-03': {'otc': (-1, 34, -45), 'tussin': (-2, 8)} }
Я пытаюсь отсортировать этот словарь в порядке убывания по количеству лекарств, которое хранится в дате, но если в двух датах одинаковое количество лекарств затем отсортируйте эти даты в порядке возрастания. Итак, список в этом случае должен быть: ['2011-04-02', '2011-04-01', '2011-04-03']
.
Я понимаю, как сортировать по количеству лекарств, но путаюсь в том, как реализовать другое условие сортировки, если количество лекарств одинаково.
Как то так? Я пытаюсь сделать это в одном утверждении, используя комбинации понимания. Но это правило не применяется: если количество лекарств одинаково для двух дат, то сортируйте эти две даты в date_lst по возрастанию.
date_lst = [key for key in sorted(m_dict.keys(), key = lambda item[key]): len(item[key]))