在Python中获取嵌套键

时间:2014-11-06 18:05:19

标签: python-3.x

我是python的新手,我正在编写一个测试程序。我已经生成了结果字典,现在我想分析它们。我的字典样本看起来像这样。

results = {
        1: {'rd': 28, 'rm': 28, 'pd': 41, 'pm': 41},
        2: {'rd': 40, 'rm': 40, 'pd': 18, 'pm': 18},
        3: {'rd': 147, 'rm': 36, 'pd': 241, 'pm': 290},
        }

我正在尝试获取'rd'个密钥并将它们添加到一起。

我理解

results[1].values()

让我

dict_values([28, 28, 41, 41])

但我无法弄清楚如何获得28,所以我可以迭代列表。

我错过了什么?在旁注中我试图深入学习编程,所以此时我试图避免使用库。

2 个答案:

答案 0 :(得分:0)

获取嵌套字典的values是没用的,因为它们可以按任何顺序排列。您需要获取嵌套字典本身,然后使用密钥名称提取值:

rd_sum = 0
for sub_dict in results:
    rd_sum += sub_dict['rd']

答案 1 :(得分:0)

如果你mydict.values得到字典值,你就会嵌套字典,所以当你取值时它也是字典。

[ x['rd'] for x in results.values() ]

输出:

[28, 40, 147]

您只想使用sum函数

sum([ x['rd'] for x in results.values() ])

输出:

  215