【发布时间】:2021-05-23 12:18:55
【问题描述】:
我正在尝试做这样的事情。我想读取以下字典中的每个键和值并执行一些操作,例如,为Grade2 找到每个低于90 的值并将其增加到90。最后,用这些修改创建另一个字典。
输入:
markssheet = {
"Schools": {
"ABCElementarySchool": {
"Grade1": {
"Ethan": 92,
"Joyee": 89
},
"Grade2": {
"Rifat": 92,
"Jason": 88,
},
"Grade3": {
"Sophia": 95,
"Hassan": 93,
}
},
"EdisonElementarySchool": {
"Grade1": {
"Ethan": 91,
"Joyee": 90
},
"Grade2": {
"Ethan": 79,
"John": 92
}
}
}
}
输出:
updated_markssheet = {
"Schools": {
"ABCElementarySchool": {
"Grade1": {
"Ethan": 92,
"Joyee": 90
},
"Grade2": {
"Rifat": 92,
"Jason": 90,
},
"Grade3": {
"Sophia": 95,
"Hassan": 93,
}
},
"EdisonElementarySchool": {
"Grade1": {
"Ethan": 91,
"Joyee": 90
},
"Grade2": {
"Ethan": 90,
"John": 92
}
}
}
}
我可以使用 4 个不同的 for 循环和 key, value 和 4 个 if 条件来完成此操作,但这不是我可以在任何字典中使用的东西。一些值可以在嵌套的更深层次上。在这种情况下,我的代码将无法工作。
所以,我想知道是否可以使用带有递归函数之类的较短循环,以便它适用于任何字典,但我不知道如何。如果任何其他方法适用于任何字典,那也没关系。
【问题讨论】:
标签: python-3.x dictionary recursion