Python 3.x 获取Python中的嵌套键
我是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}, } 我正在尝
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()添加到它的末尾,这就是我来到这里的原因。当你到达什么循环时?您的问题中当前没有循环。此外,字典是无序的,所以“第一”没有合理的含义。