【发布时间】:2022-01-18 13:55:27
【问题描述】:
我有一个存储在列表中的字典列表。我想将相同的字典合并为一个。
输入:
data = [
{'company': 'DAZ', 'process': 'Acesses', 'task': 'security', 'cmp_hours': 5106, 'prc_hours':744, 'hours':6},
{'company': 'DAZ', 'process': 'Acesses', 'task': 'Approve', 'cmp_hours': 5106, 'prc_hours':744, 'hours':10},
{'company': 'CAP', 'process': 'Agreements', 'task': 'Check', 'cmp_hours': 400, 'prc_hours':50, 'hours':5},
{'company': 'CAP', 'process': 'Offboarding', 'task': 'Formation', 'cmp_hours': 400, 'prc_hours':75, 'hours':7},
{'company': 'TOO', 'process': 'Offboarding', 'task': 'Formation', 'cmp_hours': 200, 'prc_hours':32, 'hours':2}
]
所需输出:
[
{
'DAZ': {'cmp_hours':5106, 'processes': [{'process': 'Acesses', 'prc_hours' : 744,'tasks': [{'task': 'security', 'hours': 6}, {'task': 'Approve', 'hours': 10}]}]},
'CAP': {'cmp_hours':400, 'processes': [{'process': 'Agreements', 'prc_hours' : 50,'tasks': [{'task': 'Check', 'hours': 5}]}, {'process_name': 'Offboarding', 'prc_hours' : 75,'tasks': [{'task': 'Formation', 'hours': 7}]}]},
'TOO': {'cmp_hours':200, 'processes': [{'process': 'Offboarding', 'prc_hours' : 32,'tasks': [{'task': 'Formation', 'hours': 2}]}]}
}
]
大致结构
[{company : {cmp_hours, 'processes': [{process, prc_hours, 'tasks':[{task, hours}]}]}}]
【问题讨论】:
-
这是一个简单的 for 循环逻辑,向我们展示您到目前为止所尝试的内容。
-
我被困在分解过程中的任务
-
你是什么意思?
-
我删除了公司的重复数据并将它们合并为一个,但我找不到将所有流程合并到一个字典中的解决方案,也可以按照示例中所示的任务进行
-
能否将您编写的用于将数据组合到问题中的代码包含在内?
标签: python json loops dictionary merge