从嵌套列表生成字典,Python 3.6

时间:2018-12-07 13:21:22

标签: python python-3.x pandas dictionary

我有以下列表:

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 :(得分:5)

使用dict comprehension

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

答案 1 :(得分:1)

您需要遍历字典列表,取出所需的位并将其添加到新词典中。

ResultsDict = {}

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

print(ResultsDict)