将值为列表的字典转换为键值对字典组成的列表
将值为列表的字典转换为字典列表
原始数据
a={'Name': ['ANAND', 'kumar'], 'Place': ['Chennai', 'Banglore'], 'Designation': ['Developer', 'Sr.Developer']}
目标格式
[{"Name":"ANAND",'Place':'Chennai','Designation':'Developer'},{"Name":"kumar",'Place':'Banglore','Designation':'Sr.Developer'}]
实现代码
利用Python的zip()函数和列表推导式可快速完成转换:
a = {'Name': ['ANAND', 'kumar'], 'Place': ['Chennai', 'Banglore'], 'Designation': ['Developer', 'Sr.Developer']} # 提取字典的键集合 keys = a.keys() # 按位置配对各列表元素,生成对应字典 converted_list = [dict(zip(keys, item)) for item in zip(*a.values())] print(converted_list)
代码说明
zip(*a.values()):将每个键对应的列表按索引位置打包,生成包含对应位置元素的元组,例如('ANAND', 'Chennai', 'Developer')和('kumar', 'Banglore', 'Sr.Developer')dict(zip(keys, item)):把每个元组元素和键一一对应,转换成单个字典- 列表推导式将所有生成的字典收集为最终的列表
内容的提问来源于stack exchange,提问作者anand
相关产品推荐
相关产品推荐

