Python 3.x 获取Python中的嵌套键

Python 3.x 获取Python中的嵌套键,python-3.x,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}, } 我正在尝

我是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,这样我就可以在列表中迭代


我错过了什么?另一方面,我正试图深入学习编程,因此目前我正试图避免使用库。

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

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

如果您
mydict.values
您将获得字典值,那么您的字典是嵌套的,因此当您获取值时,它也会显示在字典中

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

[28, 40, 147]
  215
要求和,只需使用
sum
函数

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

[28, 40, 147]
  215

你是说你想要
结果[1]['rd']
?你应该读一读“谢谢”,当我尝试这样做时,我感到困惑,并将.values()添加到它的末尾,这就是我来到这里的原因。当你到达什么循环时?您的问题中当前没有循环。此外,字典是无序的,所以“第一”没有合理的含义。