Могу ли я отсортировать список словарей по результату вычитания двух его значений?

#python #sorting #dictionary

#python #сортировка #словарь

Вопрос:

У меня есть словарь, который поступает из базы данных, которая имеет следующие значения:

 storageRoom = 'id', 'max_stock', 'min_stock', 'temperature', 'humidity'
  

Мой вопрос в том, как я могу отсортировать его по результату ‘max_stock’ — ‘min_stock’. Невозможно добавить новый ключ в словарь, поскольку я получаю его из базы данных, которая не имеет этого значения.

Комментарии:

1. Всегда возможно добавить новые ключи к словарю. Они являются изменяемыми объектами.

2. Если бы мой ответ помог, не могли бы вы проголосовать за? Это способствует развитию сообщества 🙂

3. @alec935 У меня недостаточно репутации, чтобы сделать это. Спасибо

4. Теперь вы делаете 🙂 (> 15)

Ответ №1:

Чтобы получить отсортированный список из словаря storageRoom , вы можете сделать:

 list = sorted(storageRoom.items(), key=lambda k: k['max_stock']-k['min_stock'])
  

Краткое примечание: Откуда бы вы ни брали свой словарь, вы можете добавлять в него столько, сколько захотите. Словари изменчивы.