下面是一个dict列表
[{'Main ID': 0, 'Sub IDs': [0]}, {'Main ID': 0, 'Sub IDs': [3]}, {'Main ID': 2, 'Sub IDs': [3]}]
我需要把它压缩成下面的格式
[{'Main ID': 0, 'Sub IDs': [0,3]}, {'Main ID': 2, 'Sub IDs': [3]}]
也就是说,为相同的Main ID
添加包含Sub IDs
的列表-这里item0和item1具有相同的Main ID
值
什么是pythonic的方法来实现这一点-有没有一种方法可以理解列表
第一步是获取所有不同的
'Main ID'
的set
。我们还可以立即sum
列出每个人的'Sub IDs'
列表,因为我们现在方便地将它们组合在一起这很好用,你实际上已经完成了!该结果可用作列表的简单列表。但是你想重建字典。原始密钥名称丢失,因此我们再次插入它们,使其再次成为字典
由于它被集合上的一个简单的
for
循环所包围,因此我们可以通过将for
循环移到已有循环的末尾,将其包装回一个列表中,从而使其成为完整的列表理解:这是哪一行
并且达到了预期的效果
使用字典为每个主id存储一组子id,并迭代列表。我假设子ID是唯一的?然后创建一个新的列表,并将字典放在末尾
输出:
相关问题 更多 >
编程相关推荐