要在python中将字典列表转换为列表列吗

2024-04-23 12:21:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字典列表lst,每个字典都有相同的两个键,每个键的值都不同。我希望它们以单个字典的形式出现dict 其中两个键的所有值都包含在一个列表中。记住,键是从变量dimLstmetricLst中获取的,否则它们是未知的。。有什么想法吗?你知道吗

lst = [
    {'Location': 'ANNEX', 'ToTal_Dwell': 60.0},
    {'Location': 'CHENNAI', 'ToTal_Dwell': 86.0},
    {'Location': 'DADRI', 'ToTal_Dwell': 108.0},
    {'Location': 'JNPT', 'ToTal_Dwell': 39.0},
    {'Location': 'KOLKATA', 'ToTal_Dwell': 67.0},
    {'Location': 'MUNDRA', 'ToTal_Dwell': 82.0}
]

dimLst = ['Location']
metricsLst = ['ToTal_Dwell']

我期望输出如下:

dict = {
    'Location': 
        ['ANNEX', 'CHENNAI', 'DADRI', 'JNPT', 'KOLKATA', 'MUNDRA'],
    'ToTal_Dwell': 
        [60.0, 86.0, 108.0, 39.0, 67.0, 82.0]
}

Tags: 列表字典locationdict形式totallstannex
2条回答

使用字典理解:

>>> {k: [d[k] for d in lst] for k in lst[0]}
{'Location': ['ANNEX', 'CHENNAI', 'DADRI', 'JNPT', 'KOLKATA', 'MUNDRA'], 'ToTal_Dwell': [60.0, 86.0, 108.0, 39.0, 67.0, 82.0]}

这是除词典理解之外的另一种解决方法

lst = [
    {'Location': 'ANNEX', 'ToTal_Dwell': 60.0},
    {'Location': 'CHENNAI', 'ToTal_Dwell': 86.0},
    {'Location': 'DADRI', 'ToTal_Dwell': 108.0},
    {'Location': 'JNPT', 'ToTal_Dwell': 39.0},
    {'Location': 'KOLKATA', 'ToTal_Dwell': 67.0},
    {'Location': 'MUNDRA', 'ToTal_Dwell': 82.0}
]

locationList = []
dwellList = []
locDict = {}

for i in lst:
    locationList.append(i['Location'])
    dwellList.append(i['ToTal_Dwell'])

locDict['Location'] = locationList
locDict['ToTal_Dwell'] = dwellList
print(locDict)

相关问题 更多 >