@Lepilov

Как получить словарь из списка словарей?

Есть такой список
module_to_vendor = [{'active': True, 'm': 'Sourcing'}, {'active': True, 'm': 'SA'}, {'active': False, 'm': 'SXM'}, {'active': True, 'm': 'CLM'}, {'active': False, 'm': 'ePRO'}, {'active': False, 'm': 'I2P'}, {'active': True, 'm': 'P2P'}, {'active': False, 'm': 'SPT'}, {'active': False, 'm': 'S2P'}, {'active': False, 'm': 'AP'}, {'active': False, 'm': 'TS'}, {'active': False, 'm': 'SOW'}, {'active': True, 'm': 'ICW'}]


Я хочу получить словарь подобного вида
res = {'Sourcing': True, 'SA':True, .... }

Последнее к чему пришел
res = {k: v for element in module_to_vendor for k, v in element.items()}


Но получаю в итоге обрубок в виде
{'active': True, 'm': 'ICW'}

Если не затруднит, подскажите решение
  • Вопрос задан
  • 142 просмотра
Решения вопроса 2
@o5a
res = {d['m']:d['active'] for d in module_to_vendor}
Ответ написан
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
res = {i['m']: i['active'] for i in module_to_vendor if i.keys() == {'active', 'm'}}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы