我有两个具有不同值(可能还有键)的defaultdict。我想用相同的键值相减的结果创建第三个。我知道这很容易,但是我找不到找到它的pythonic方法(不是for循环)。
我想我应该使用operator.sub和map的某种组合。
a = defaultdict(int)
b = defaultdict(int)
a['8'] += 500
a['9'] += 400
b['8'] += 300
我希望:
c
defaultdict(<class 'int'>, {'8': 200, '9': 400 })
答案 0 :(得分:1)
使用collections.Counter
例如:
a = defaultdict(int)
b = defaultdict(int)
a['8'] += 500
a['9'] += 400
b['8'] += 300
print(Counter(a) - Counter(b))
输出:
Counter({'9': 400, '8': 200})