首页 > 解决方案 > 在python中更改嵌套字典值

问题描述

我有一本字典,谁的键是学生 ID #,值是另一本字典。嵌套字典具有说明作业类型的键,值是列表中作业的成绩。

所以我正在尝试更改每个作业的成绩列表(降低最低成绩、平均成绩等),但我一开始就想不出办法从字典中挑选出来。

这是字典的部分内容:

D = {"123-45-6789":{"hw":[98,89,92,75], "quiz":[45,36,42,50,29,27,40,41], "exam":[175,157]}, "534-77-9326":{"hw":[67,89,55,78], "quiz":[78,45,67,23,45,78,88,91], "exam":[187,146]},   ....... etc.

任何帮助将不胜感激。

***而且我忘了提到我计划遍历字典来编辑每个成绩列表,因为有很多学生 ID #。所以我想我真正要问的是:引用每个学生 ID 的语法是什么样的,然后是每个 ID 的每个成绩列表#

标签: pythonpython-3.xdictionary

解决方案


您可以在找到列表的长度后使用list.remove和的混合。min()

max_size = 4
new_score = 87
hw_list = data[student_id]['hw']

if len(hw_list) >= max_size - 1:
    hw_list.remove(min(hw_list))

hw_list.append(new_score)

请注意,如果列表已经比指定的最大值大 2 个以上的项目,这将无法处理,len但这会让您开始。


推荐阅读