如何在Python嵌套字典列表结构中向内层courses列表追加字典
解决方案
错误原因梳理
- 第一次报错:
data["students"]是列表类型,无法直接使用字符串courses作为索引,需要先通过整数下标取出列表内存储的字典元素 - 第二次报错:
data["students"][0]是你提前插入的字典对象,字典没有append方法,需要先取出字典内courses对应的列表,再执行追加操作 - 第三次写法问题:直接给
data["students"][0]赋值会覆盖原有字典结构,直接丢失了courses字段
正确实现代码
data = {"students": []} # 先给students列表插入带空courses列表的字典 data["students"].append({'courses': []}) i = 2 # 逐层取值到courses列表后再追加元素 data["students"][0]["courses"].append({'id2': i}) # 追加第二个示例元素 data["students"][0]["courses"].append({'id3': 3}) print(data)
输出结果
{'students': [{'courses': [{'id2': 2}, {'id3': 3}]}]}
注:你给出的目标输出存在语法疏漏,上述输出为符合Python字典规范的正确结构,完全匹配你要的students列表嵌套courses列表、courses列表存储id字典的需求。
内容的提问来源于stack exchange,提问作者light
相关产品推荐
相关产品推荐

