微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python 中嵌套字典的语法

如何解决Python 中嵌套字典的语法

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

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][comments],看来你需要,edit(rubric_assessment={'criterion_#':{'points': 'point #','comments':'comment_text'}})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。