繁体   English   中英

如何将具有公共键值对的字典列表转换为以键为公共值的新字典?

[英]How do i convert the list of dicts having common key value pair to a new dict with keys as the common value?

我有这个列表有多个字典,但每个字典都有一个公共键,我想通过它创建一个新的字典,如下所示list = [{"local_id":1,"id":29,"name":"Ashish"},{"local_id":2,"id":29,"name":"Boora"},{"local_id":3,"id":30,"name":"Harshdeep"},{"local_id":4,"id":30,"name":"Singh"},{"local_id":5,"id":31,"name":"Deepak"} ]

这是期望的结果dictionry = { 29:{'details':[{"local_id":1,"id":29,"name":"Ashish"},{"local_id":2,"id":29,"name":"Boora"}]}, 30:{'details':[{"local_id":3,"id":30,"name":"Harshdeep"},{"local_id":4,"id":30,"name":"Singh"}]}, 31:{'details':[{"local_id":5,"id":31,"name":"Deepak"}]} }

使用setdefault并创建 output 字典

result = {}
for item in list:
    result.setdefault(item["id"], {}).setdefault("details", []).append(item)
print(result)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM