我有3个使用嵌套字典表示的不同书包。它们的键是“ bag1”,“ bag2”和“ bag3”,并且依次包含不同数量的不同颜色的球,每种颜色类别也由字典表示。如何以仅在每个包中添加所有相应颜色的字典结尾?例如,dict1 = {'bag1': { 'red' : 2, 'blue' : 5, 'green' : 7}, 'bag2' : { 'red' : 3, 'blue': 4, 'green': 8}}
。现在,我想以另一个dict2 = { 'red' : 5, 'blue': 9, 'green': 15}
形式的最终字典结尾。有人可以为我提供执行此操作的功能吗?
答案 0 :(得分:0)
首先要创建结果字典:
dict2 = {}
for key in dict1['bag1'].keys():
dict2[key] = 0
然后填写
for bag in dict1.values():
for key, value in bag.items():
dict2[key] += value
答案 1 :(得分:0)
您可以从Counter模块使用collections:
from collections import Counter
dict1 = {'bag1': {'red': 2, 'blue': 5, 'green': 7}, 'bag2': {'red': 3, 'blue': 4, 'green': 8}}
counter = sum(map(Counter, dict1.values()), Counter())
print dict(counter)
输出
{'blue': 9, 'green': 15, 'red': 5}
答案 2 :(得分:0)
在递归函数log_a
下将从JSON中找到键的值。
var a = 'a value';
(function(global) {
global.log_a = function() {
console.log(a);
};
}(window));
var anotherFunction = function() {
log_a();
};
anotherFunction();
输出:get_value
答案 3 :(得分:0)