从字典中总结值(Python方法)

2024-06-22 10:33:11 发布

您现在位置:Python中文网/ 问答频道 /正文

给定下面的字典,让我们称之为mydict

 {'Plekhg2': {'Bcells': '233.55', 'DendriticCells': '190.12'}, 
  'Barxxxx': {'Bcells': '132.11', 'DendriticCells': '92.01'}, }

我想从内部字典中总结每个键的值,结果是:

^{pr2}$

如何使用Python习语实现这一点呢?在


Tags: 字典mydict习语pr2dendriticcellsbcellsbarxxxxplekhg2
3条回答

使用dict理解和sum,因为值是字符串,因此必须首先使用float将它们转换为浮点。在

>>> {k:sum(float(x) for x in v.itervalues()) for k, v in d.iteritems()}
{'Plekhg2': 423.67, 'Barxxxx': 224.12}

对于python3,使用.items()和{},而不是{}。在

只需在Python 3中完成:

In [134]:

{k:sum(float(x) for x in v.values()) for k, v in my_dict.items()}
Out[134]:
{'Barxxxx': 224.12, 'Plekhg2': 423.67}

对于dict理解,使用sum()来计算嵌套字典值的总和;python2.6或更早版本将使用dict()和生成器表达式:

# Python 2.7
{k: sum(float(f) for f in v.itervalues()) for k, v in mydict.iteritems()}
# Python 3.x
{k: sum(map(float, v.values())) for k, v in mydict.items()}
# Python 2.6 and before
dict((k, sum(float(f) for f in v.values())) for k, v in mydict.iteritems())

您可能希望首先存储浮点值。在

演示:

^{pr2}$

相关问题 更多 >