Создать словарь из вложенного списка, Python 3.6 - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть список ниже:

dimensionList = [{'key': 2109290, 'id': 'R', 'name': 'Reporter', 'isGeo': True, 'geoType': 'region'}, 
         {'key': 2109300, 'id': 'C', 'name': 'Commodity', 'isGeo': False, 'geoType': None}, 
         {'key': 2109310, 'id': 'P', 'name': 'Partner', 'isGeo': True, 'geoType': 'region'}, 
         {'key': 2109320, 'id': 'TF', 'name': 'Trade Flow', 'isGeo': False, 'geoType': None}, 
         {'key': 2109330, 'id': 'I', 'name': 'Measure', 'isGeo': False, 'geoType': None}]

Я хочу создать словарь из этого списка

Нужны значения 'id' как Id словаря и 'name' как значения словаря

Ожидаемые результаты: -

ResultsDict = {'R':'Reporter', 'C':'Commodity', 'P':'Partner', 'TF':'Trade Flow', 'I':'Measure'}

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Вам нужно перебрать список словарей, вытянуть нужные биты и добавить их в свой новый словарь.

ResultsDict = {}

for dict_item in dimensionList:
    id = dict_item ['id']
    name = dict_item ['name']
    ResultsDict[id] = name

print(ResultsDict)
0 голосов
/ 07 декабря 2018

Использование dict comprehension:

d = {x['id']:x['name'] for x in dimensionList}
print (d)
{'R': 'Reporter', 'C': 'Commodity', 'P': 'Partner', 'TF': 'Trade Flow', 'I': 'Measure'}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...