Ich beginne mit einem dict, die von einem apiWie kann ich mit verschachtelten dicts in Python
start_dict = {
"a": 795,
"b": 1337,
"c": [
{
"d1": 2,
"d2": [
{
"e1": 4
}
]
}
]
}
Ich muß erstellen Sie eine separate dict von diesem dict eine neue dict von dicts von einem dict erstellen. Das hat jeden Schlüssel und Wert getrennt durch ihren Schlüssel und Wert in ihr eigenes dict. Während die verschachtelten Diktate intakt bleiben.
values =
{
"fields": [
{
"element_name": "a",
"value": 795
},
{
"element_name": "b",
"value": 1337
},
{
"element_name": "c",
"value": [
{
"element_name": "d1",
"value": 2
},
{
"element_name": "d2",
"value" : [
{
"element_name": "e1",
"value": 4
}
]
]
}
]
}
Die tatsächliche dict ist ein bisschen größer, aber es gibt nicht mehr als eine zwei tief verschachtelte dicts in den ursprünglichen, aber viele einzelnen verschachtelten dicts. Dies ist der einzige Weg, wie die API neue Daten akzeptiert, so dass ich irgendwie feststecke, bis ich es herausgefunden habe. Jede Hilfe wird sehr geschätzt, da ich Python ziemlich neu kenne (3 Wochen) lol, wenn das etwas Einfaches ist, sei bitte nicht zu hart.
Haben Sie versucht, etwas selbst zu schreiben? Setzen Sie einen Code in die Frage ... – Dekel
Ihr 'c' Wert ist ein bisschen ein Rätsel. Sie haben eine Liste mit einem einzelnen Wörterbuch in dieser Liste, aber die resultierende Ausgabe ist eine Liste mit den Schlüssel-Wert-Paaren aus diesem einen Wörterbuch, das in separate Wörterbücher umgewandelt wurde. Was passiert, wenn mehr als ein Element in dieser 'c' Liste enthalten ist? Was, wenn mehr Listen enthalten sind oder Objekte, die keine Wörterbücher sind? Gleiches gilt für "d2". –
Meine folgende Lösung führt zu einer * verschachtelten * Liste, da das einzelne Wörterbuch in eine Liste von Schlüssel-Wert-Wörterbüchern umgewandelt wird. Wenn es mehr als ein Wörterbuch gibt, bedeutet das, dass jedes von diesen eine separate Liste innerhalb der Master-'c'-Liste wird. Alle anderen Objekttypen werden auf diese Weise ebenfalls korrekt behandelt. –