在默认字典Python中添加值(或合并)

2024-06-07 01:07:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在编写一个代码,我想知道是否有一种方法可以合并字典值并添加它们:

词典示例:

defaultdict(<class 'list'>, {'1 and 2': [181, 343], '2 and 5': [820], '2 and 6': [1], '1 and 3': [332], '1 and 4': [77], '3 and 4': [395], '3 and 5': [823]})

注:例如,1和2表示ID为1和2的员工的住宿,以及[181343]表示在不同项目中工作的天数。我想把他们在一起工作的总天数合并为最终的产出

因此会导致:

defaultdict(<class 'list'>, {'1 and 2': [524], ... )

谢谢


Tags: and项目方法代码id示例字典员工
2条回答

可以使用int定义default dictionary

d = collections.defaultdict(int)

然后简单地添加值:

d["1 and 2"] += …

其中是一直附加到列表的值。因为int的默认值是0,所以上述方法是有效的;列表的默认值是空列表

这里

data = {'1 and 2': [181, 343], '2 and 5': [820], '2 and 6': [1], '1 and 3': [332], '1 and 4': [77], '3 and 4': [395], '3 and 5': [823]}

data_with_sum = {k:sum(v) for k,v in data.items()}
print(data_with_sum)

输出

{'1 and 2': 524, '2 and 5': 820, '2 and 6': 1, '1 and 3': 332, '1 and 4': 77, '3 and 4': 395, '3 and 5': 823}

相关问题 更多 >