Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:将字典作为新对象附加到字典键_Python_Django_Python 3.x_Python 2.7 - Fatal编程技术网

Python:将字典作为新对象附加到字典键

Python:将字典作为新对象附加到字典键,python,django,python-3.x,python-2.7,Python,Django,Python 3.x,Python 2.7,我正在开发一个Django API来填充不同部分/类别下的某些数据集。在那里,每个章节/目录都有多个词典 要求: "data": { "engineers": { {"id": 1, "name": "aaa"}, {"id": 2, "name": "bbb"}, {"id": 3, "name": "ccc"}, }, "doctors": { {"id": 5, "age": "50"},

我正在开发一个Django API来填充不同部分/类别下的某些数据集。在那里,每个章节/目录都有多个词典

要求:

"data": {
    "engineers": {
        {"id": 1, "name": "aaa"},
        {"id": 2, "name": "bbb"},
        {"id": 3, "name": "ccc"},
    },
    "doctors": {
        {"id": 5, "age": "50"},
        {"id": 6, "age": "60"},
        {"id": 7, "age": "70"},
    },
}
在本例中,我需要将新的工程师对象附加到“工程师”节点,将新的医生对象附加到“医生”节点。我试过的方法如下

data = {}
data["engineers"].append({"id": 4, "name": "ddd"})
data["doctors"].append({"id": 8, "age": "45"})
错误:

在处理上述异常的过程中,'set'对象不可用 发生了另一个异常:


我该怎么做呢?

你是在一个dict对象后面追加内容,这是行不通的,所以工程师必须是一个列表对象而不是dict,第一次你用[]而不是{}定义它时,医生也是这样

data = {
'engineers':[],
'doctors':[]
} 
data["engineers"].append({"id": 4, "name": "ddd"})

将要附加到的数据包装到数组中。不能附加到字典,但可以将对象附加到数组

data={“工程师”:
[
{“id”:1,“name”:“Bob”}
]
}
数据[“工程师”]。追加({
“id”:2,“name”:“Alice”
})
这将产生:

{"Engineers": 
  [
    {"id": 1, "name": "Bob"},
    {"id": 2, "name": "Alice"}
  ]
}

您正在附加到dict对象,但这不起作用,因此工程师必须是列表对象而不是dict,第一次使用[]而不是{}将其定义到该对象时,与doctors相同,该要求无效