【发布时间】:2021-12-09 14:40:30
【问题描述】:
我有一个带有键列表的字典,并且值单独存储在列表列表中:
obj = {
'keys': ['key1', 'key2', 'key3'],
'items': [['value1', 'value2', 'value3'], ['value4', 'value5', 'value6'], ['value7', 'value8', 'value9']]
}
所需的输出是将它们“合并”到一个字典列表中,如下所示:
[
{'key1': 'value1', 'key2': 'val2', 'key3': 'val3'},
{'key1': 'value4', 'key2': 'val5', 'key3': 'val6'},
{'key1': 'value7', 'key2': 'val8', 'key3': 'val9'}
]
我试过这种直接的方法
result = []
for item in obj['items']:
result.append(dict(zip(obj['keys'], item)))
并将其缩短为这个
[dict(zip(obj['keys'], item)) for item in obj['items']]
是否有其他替代方法来实现所需的输出?
我可以知道这个“合并”操作的名称是什么吗?
【问题讨论】:
-
您的解决方案非常好。我认为没有理由引入其他模块(例如 pandas)来做到这一点。我不知道这种技术是什么;-)
标签: python list dictionary key-value