Wenn Sie ein verschachteltes Wörterbuch mit der Punktnotation „a.b.c.d.e“ prüfen, werden automatisch fehlende Ebenen erstellt

Dieser hier hat mich umgehauen. Angesichts des folgenden Wörterbuchs:

    d = {"a":{"b":{"c":"winning!"}}}

Ich habe diese Zeichenfolge (von einer externen Quelle, und ich kann diese Metapher nicht ändern).

    k = "a.b.c"

Ich muss feststellen, ob das Wörterbuchhat den Schlüssel 'c', damit ich es hinzufügen kann, falls nicht.

Dies funktioniert problemlos, um einen Punktnotationswert abzurufen:

    reduce(dict.get, key.split("."), d)

aber ich kann nicht herausfinden, wie man einen has_key-check oder so etwas "reduziert".

Mein letztendliches Problem ist folgendes: Ich muss "a.b.c.d.e" erstellenalle notwendigen Elemente im Wörterbuch, aber nicht stampfen, wenn sie bereits vorhanden sind. Wenn jemand einen wahnsinnigen Weg kennt, um all das zu tun, wirst du mein Held sein.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage