我需要你的帮助来解决这项任务:我有一个目录列表,上面有关于产品的下一个数据:
- id;
- title;
- country;
- seller;
在输出结果中,我希望将所有具有相同id的字典分组,创建一个名为“info”的新键和这个键 必须包含与每种产品相关的产品“国家”和产品“卖方”信息的目录列表
data = [
{"id": 1, "title": "Samsung", "country": "France", "seller": "amazon_fr"},
{"id": 2, "title": "Apple", "country": "Spain", "seller": "amazon_es"},
{"id": 2, "title": "Apple", "country": "Italy", "seller": "amazon_it"},
]
result = [
{"id": 1, "title": "Samsung", "info": [{"country": "France", "seller": "amazon_fr"}]},
{"id": 2, "title": "Apple", "info": [{"country": "Spain", "seller": "amazon_es"}, {"country": "Italy", "seller": "amazon_it"}]},
]
非常感谢你的努力。 P.S.熊猫解决方案也受到赞赏
下面是一个简单的python解决方案,它基于
data
中每个字典的id
值创建一个结果字典,并在找到匹配的id
值时更新该字典中的值。然后使用字典的值创建输出列表:输出:
您可以使用itertools.groupby:
输出:
相关问题 更多 >
编程相关推荐