简体   繁体   English

计算总价值

[英]calculate the total value dict

I have a problem, how to calculate the total dict of the same keys ? 我有一个问题,如何计算相同键的总字典? I have a dict: 我有一个命令:

{'learning': {'DOC1': 0.14054651081081646,
              'DOC2': 0,
              'DOC3': 0.4684883693693881},
 'life':     {'DOC1': 0.14054651081081646, 
              'DOC2': 0.20078072972973776, 
              'DOC3': 0}
}

and I hope the results as: 我希望结果为:

{'learning life': {
        'DOC1': DOC1 in learning + DOC1 in life,
        'DOC2': DOC2 in learning + DOC2 in life,
        'DOC3': DOC3 in learning + DOC3 in life,}}

Thank you very much 非常感谢你

Pretty simple: 很简单:

for k in d['learning']:
    print(d['learning'][k] + d['life'][k])

... with d being your dict and no error checking whatsoever (does the key exist, is it really a number, etc.). ... d是您的dict并且不会检查任何错误(该键是否存在,是否确实是一个数字,等等)。


As whole code snippet with a comprehension: 作为具有理解力的整个代码段:

 d = {'learning': {'DOC1': 0.14054651081081646, 'DOC2': 0, 'DOC3': 0.4684883693693881}, 'life': {'DOC1': 0.14054651081081646, 'DOC2': 0.20078072972973776, 'DOC3': 0} } d['sum'] = [d['learning'][k] + d['life'][k] for k in d['learning']] print(d) 

See a demo on ideone.com . 在ideone.com上查看演示

您可以使用字典理解来添加嵌套在字典d中的所有数字,如下所示:

totals = {k: sum(v.get(k, 0) for v in d.values()) for k in d.values()[0]} # dict of totals

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM