Greeting everyone, I have a list in my python file, based from this list how can I calculate sum of the
actual_duration
[{'employee_name': 'A', 'actual_duration': 14},
{'employee_name': 'A', 'actual_duration': 6},
{'employee_name': 'B', 'actual_duration': 8},
{'employee_name': 'B', 'actual_duration': 22},
{'employee_name': 'C', 'actual_duration': 15}]
One way is using collections.defaultdict
l = [ {'employee_name': 'A', 'actual_duration': 14},
{'employee_name': 'A', 'actual_duration': 6},
{'employee_name': 'B', 'actual_duration': 8},
{'employee_name': 'B', 'actual_duration': 22},
{'employee_name': 'C', 'actual_duration': 15} ]
from collections import defaultdict
d_dict = defaultdict(int)
for k,v in [d.values() for d in l]:
d_dict[k]+=v
new_l = []
for k,v in d_dict.items():
new_l.append({'employee_name': k, 'actual_duration': v})
new_l
Output:
[{'actual_duration': 20, 'employee_name': 'A'},
{'actual_duration': 30, 'employee_name': 'B'},
{'actual_duration': 15, 'employee_name': 'C'}]