我知道这很简单,但我已经搜索了大约一个小时,找不到一个好的答案。我知道一定有比遍历键寻找匹配项然后添加值更优雅的方法。你知道吗
我得到的是:
test_dict = [{'Bob':2}, {'Jane':1}, {'Marco':1}, {'Suzy':2}, {'Bob':1},{'Mark':3}, {'Ellen':1}, {'Suzy':1}]
我要做的是在键匹配时将这些值相加(在本例中是Bob和Suzy)。这将通过将重复键的值相加来消除它们。它看起来像:
test_dict = [{'Bob':3}, {'Jane':1}, {'Marco':1}, {'Suzy':3},{'Mark':3}, {'Ellen':1}]
我试过的是:
from collections import Counter
final = Counter(test_dict)
以及其他集合模块项。我真的不希望遍历字典来比较每个键的匹配,然后将值加在一起。这似乎是一个非常低效的想法,但我想不出(或找不到)其他任何东西。你知道吗
您还可以使用
defaultdict
,从中提取每个键和值的形式test_dict
,并将其添加到defaultdict中,后者负责实例化尚不存在的键。你知道吗您使用
Counter
的方法是正确的:要对显式循环执行相同的操作,请执行以下操作:
相关问题 更多 >
编程相关推荐