我有一本包含列表的字典。我想用它来创建多个字典。
原件是{'user': ['BEBR', 'FRPA', 'GEMU'], 'udp': ['COLT_BE_8845-udp', 'COLT_FR_8845-udp', 'COLT_DE_8845-udp']}
我想要这样的东西
[{'user': 'BEBR', 'udp': 'COLT_BE_8845-udp'},
{'user': 'FRPA', 'udp': 'COLT_FR_8845-udp'},
{'user': 'GEMU', 'udp': 'COLT_DE_8845-udp'},
....]我有一个沙盒here
发布于 2020-01-09 22:43:45
你可以做到
res = [{'user':user,'udp':udp} for user, udp in zip(*d.values())]其中d是您的原始字典
发布于 2020-01-09 22:43:45
尝试以下代码:
result = []
for user, udp in zip(original['user'], original['udp']):
result.append({'user': user, 'udp':udp})这将返回一个字典列表,如您的示例所示。
发布于 2020-01-10 00:07:20
您可以在zip中使用dict
d = {'user': ['BEBR', 'FRPA', 'GEMU'], 'udp': ['COLT_BE_8845-udp', 'COLT_FR_8845-udp', 'COLT_DE_8845-udp']}
result = [dict(j) for j in zip(*[[(a, i) for i in b] for a, b in d.items()])]输出:
[{'user': 'BEBR', 'udp': 'COLT_BE_8845-udp'}, {'user': 'FRPA', 'udp': 'COLT_FR_8845-udp'}, {'user': 'GEMU', 'udp': 'COLT_DE_8845-udp'}]https://stackoverflow.com/questions/59666215
复制相似问题