Python 中嵌套字典的语法

Syntax for nested dictionaries in Python

我正在使用 CanvasAPI 开发 Python 作业自动评分脚本,Python 中的 API 包装器 Canvas学习管理平台。在研究文档时,我可以在 Python 中针对几个参数成功发出 curl 命令。例如,下面的这个转换用于为单个提交上传 rubric 信息:

Curl command per the Canvas API docs:

PUT /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id

与:

rubric_assessment[criterion_id][points]

Turns into this via the CanvasAPI Python wrapper

edit(rubric_assessment={'criterion_#':{'points': 'point #'}})

但是,我对添加附加参数的语法有困难,这会创建看起来像是嵌套字典的内容。例如,如果我想添加一个文本评论和分数,API 文档提供了这个:

rubric_assessment[criterion_id][comments]

我尝试过的:

edit(rubric_assessment={'criterion_#':{'points': 'point #'}, {'criterion_#':{'comments': 'comment_text'}}})

产生语法错误:

SyntaxError: positional argument follows keyword argument

我也尝试过:

edit(rubric_assessment={'criterion_#':{'points': 'point #'},{'comments': 'comment_text'}})

生成此错误:

SyntaxError: expression cannot contain assignment, perhaps you meant "=="?

构造传递两个参数的语法的正确方法是什么?非常感谢您的任何见解和帮助。

来自rubric_assessment[criterion_id][评论],看来你需要,edit(rubric_assessment={'criterion_#':{'points': 'point #','comments':'comment_text'}})