python - 在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 的每个成绩列表#
解决方案
您可以在找到列表的长度后使用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
但这会让您开始。
推荐阅读
- javascript - 结果闪烁的Inner.HTML显示
- javascript - pdfJs 从查看器获取访问权限
- powershell - 使用 PowerShell ISE 我想使用 For Loop 在文件夹中创建文件夹,并在每个这样的文件夹中,再次使用 For Each Loop 创建示例 txt 文件
- reactjs - 渲染具有对 dom 元素的 ref 的 React 组件的多个实例
- java - Java中的多个重叠正方形
- node.js - 如何并发承诺限制到特定数量?
- c# - iTextPdf 替换 PDF 对象错误标志
- semantic-release - 是否可以只发布带有语义发布的预发布?
- regex - 为什么将组添加到我的正则表达式会改变它捕获的内容
- spring - Spring 上下文索引器导致休眠实体映射出现问题