如何将Python列表字典转换为多组对应键值对字典
解决方法
首先要注意,你提供的原始数据存在语法问题:Key和Summary需要用字符串引号包裹(否则Python会将它们视为未定义变量),修正后的原始数据应为:
my_dict = [{"Key": [1,2,3,4]}, {"Summary": ["Text 1", "Text 2", "Text 3", "Text 4"]}]
可以通过以下代码实现你想要的转换:
# 提取两个列表数据 key_values = my_dict[0]["Key"] summary_values = my_dict[1]["Summary"] # 生成目标字典列表 result = [{"Key": k, "Summary": s} for k, s in zip(key_values, summary_values)] # 逐个打印结果 for item in result: print(item)
运行代码后,输出结果为:
{'Key': 1, 'Summary': 'Text 1'} {'Key': 2, 'Summary': 'Text 2'} {'Key': 3, 'Summary': 'Text 3'} {'Key': 4, 'Summary': 'Text 4'}
代码说明
- 第一步从原始列表的两个字典中,分别取出
Key和Summary对应的数值列表; - 使用
zip()函数将两个列表中对应位置的元素配对; - 通过列表推导式,把每一对配对后的元素组合成新的字典;
- 最后循环打印每个字典,得到你需要的格式。
内容的提问来源于stack exchange,提问作者Data Analyst
相关产品推荐
相关产品推荐

