我有一个表格
World=[['spain','europe'],['germany','europe'],['china','asia'],['japan','asia']]
和字典
Gdp={
'spain':{2010:100,2011:101,2012:102},
'germany':{2010:110,2011:111,2012:112},
'china':{2010:120,2011:145,2012:152},
'japan':{2010:105,2011:107,2012:109}
}
我想输出一个字典,按地区和年份总和GDP 世界名单按地区汇总:
AreaGdp={
'Europe':{2010:210,2011:212,2012:214}
'Asia':{2010:225,2011:252,2012:261}
}
答案 0 :(得分:1)
您可以使用Counter
个对象代替常规dict
个对象。 Counter
是dict
的子类,它允许从其他Counter
对象轻松更新值。
>>> from collections import Counter
>>> AreaGdp = {pair[1]: Counter() for pair in World}
>>> AreaGdp
{'asia': Counter(), 'europe': Counter()}
现在更新AreaGdp
中每个国家/地区World
的值:
>>> for pair in World:
AreaGdp[pair[1]] += Counter(Gdp[pair[0]])
这会产生:
>>> AreaGdp
{'europe': Counter({2012: 214, 2011: 212, 2010: 210}),
'asia': Counter({2012: 261, 2011: 252, 2010: 225})}