簡體   English   中英

Python: Append 字典作為新的 object 到字典鍵

[英]Python: Append a dictionary as a new object to a dictionary key

我正在開發一個 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"},
    },
}

在此示例中,我需要將 append 新工程師對象添加到“工程師”節點,並將新醫生對象添加到“醫生”節點。 我試過的方法如下。

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

錯誤:

在處理上述異常('set' object 不可下標)的過程中,又出現了一個異常:

我怎樣才能做到這一點?

您要附加到字典 object 並且這不起作用,因此工程師必須是列表 object 而不是字典,第一次使用 [] 而不是 {} 定義它,與醫生相同。

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

將您想要 append 的數據包裝到一個數組中。 您不能 append 到字典,但您可以 append 對象到數組。

data = {"Engineers":
    [
        {"id": 1, "name": "Bob"}
    ]
}

data["Engineers"].append({
    "id": 2, "name": "Alice"
})

這將產生:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM