简体   繁体   中英

Generate Dictionary from nested List, Python 3.6

I have below List:

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}]

I want to create dictionary from this list

Need Values of 'id' as Id of dictionary & 'name' as Values of dictionary

Expected Results:-

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

Use dict comprehension :

d = {x['id']:x['name'] for x in dimensionList}
print (d)
{'R': 'Reporter', 'C': 'Commodity', 'P': 'Partner', 'TF': 'Trade Flow', 'I': 'Measure'}

You need to loop through the list of dictionaries, pulling out the bits you want and adding them to your new dictionary.

ResultsDict = {}

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

print(ResultsDict)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM