【发布时间】:2017-08-03 08:28:45
【问题描述】:
Python 3.5
我有一本包含多个字典的字典,其中包含多个字典。它看起来像这样(简化):
database = {'HIV' : {'gene1' : {'val': 2, 'thr' : 4, 'met' : 5},
'gene2' : {'val': 3, 'thr' : 6, 'met' : 7}},
'HIV2' : {'gene1' : {'val': 4, 'thr' : 1, 'met' : 6},
'gene2' : {'val': 7, 'thr' : 9, 'met' : 8}}
}
显然我拥有更多的一切。 我希望合并所有基因(在一个新字典中,所以它看起来像:
database2 = {'HIV' : {'genes' : {'val': 5, 'thr' : 10, 'met' : 12}},
'HIV2' : {'genes' : {'val': 11, 'thr' : 10, 'met' : 14}}
}
这可能是一种存储值的混乱方式,但这是我必须使用的。 如何总结每种病毒(例如 HIV、HIV2 等)所有基因的所有值?
【问题讨论】:
-
创建一个函数
f,其输入为{'gene1' : {'val': 2, 'thr' : 4, 'met' : 5}, 'gene2' : {'val': 3, 'thr' : 6, 'met' : 7}}并返回{'genes' : {'val': 5, 'thr' : 10, 'met' : 12}}。现在应用字典理解:{k: f(v) for k, v in database.items()}。 ------------- 或者使用熊猫。
标签: python dictionary sum python-3.5