嵌套python字典中的项总和
我有一本嵌套字典嵌套python字典中的项总和,python,dictionary,for-loop,nested,Python,Dictionary,For Loop,Nested,我有一本嵌套字典 mydict = { 'school1': { 'grades1': [78, 96, 80], 'grades2' : [81, 86, 90]}, 'school2': { 'grades3' : [60, 65, 70], 'grades4' : [67, 98, 100]} } 我想找到我有的“等级”子词典的总和,但我还不能完全弄清楚。我不想硬编码 sum(mydict['school1']['grades1']) 等等 “
mydict = {
'school1': {
'grades1': [78, 96, 80],
'grades2' : [81, 86, 90]},
'school2': {
'grades3' : [60, 65, 70],
'grades4' : [67, 98, 100]}
}
我想找到我有的“等级”子词典的总和,但我还不能完全弄清楚。我不想硬编码
sum(mydict['school1']['grades1'])
等等
“对于my_dict2中的学校:
print(schools)
for grades in my_dict2[schools]:
print(grades)
for values in my_dict2[schools][grades]:
print(sum(values))`
我得到了这些值,但是试图在这里取这些值的和会导致TypeError:“float”对象是不可编辑的
非常感谢任何帮助!
谢谢 在python中循环使用字典的最简单方法是使用
dict.values()
,dict.keys()
,或其组合表dict.items()
。因此,纯粹的for循环
实现可能如下所示:
sumGrades = []
for school in mydict.values():
sumGrades.append(0)
for grade in school.values():
sumGrades[-1] += sum(grade)
并转换为列表理解:
sumGrades = [sum(sum(g) for g in s.values()) for s in mydict.values()]
你期望什么样的产出?你也可以发布你的尝试吗?我想找到分数的总和,然后用不同的分数和相应的总和(或平均数)创建一个新字典(或用分数总和交换分数)。现在的目标是访问成绩值并能够对其进行操作(取总和、平均值等)。