Python 3:创建字典/向嵌套字典添加值

时间:2017-04-13 11:10:37

标签: python dictionary nested

提前感谢您的帮助!

我尝试简化我的问题: 我有一个嵌套的字典看起来像: 之后我写了一个for循环来计算嵌套dict值的比率

d={'a' :{ '1990': 10, '1991':20, '1992':30},'b':{ '1990':15, '1991':40, '1992':50}}
for key in d:
    rate = d[key]['1990']/d[key]['1992']
    print(rate)

现在我想为每个嵌套的dict创建一个新的键值对,以便它最终看起来像:

d = {'a' :{ '1990': 10, '1991':20, '1992':30, 'rate':0.33333},'b':{ '1990':15, '1991':40, '1992':50, 'rate':0.3}}

或创建一个新的dict,如:

d2 = {'a':{'rate':0.3333}, 'b':{'rate':0.3}}

请帮助解决最简单的解决方案,我认为增加现有的dict会更好吗?

谢谢你!

1 个答案:

答案 0 :(得分:2)

您只需插入密钥" rate"具有您计算的价值:

d = {
    'a' :{ '1990': 10, '1991':20, '1992':30},
    'b':{ '1990':15, '1991':40, '1992':50}
}

for key in d:
    rate = d[key]['1990']/d[key]['1992']
    print(rate)
    d[key]['rate']=rate

print d

仅供参考,如果你使用python2,你应该这样做 rate = float(d[key]['1990'])/d[key]['1992']