我是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,所以我可以迭代列表。
我错过了什么?在旁注中我试图深入学习编程,所以此时我试图避免使用库。
答案 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