Heim > Backend-Entwicklung > Python-Tutorial > Wie drucke ich alle Werte aus einem verschachtelten Wörterbuch in Python rekursiv aus?

Wie drucke ich alle Werte aus einem verschachtelten Wörterbuch in Python rekursiv aus?

Mary-Kate Olsen
Freigeben: 2024-11-29 05:31:11
Original
718 Leute haben es durchsucht

How to Recursively Print All Values from a Nested Dictionary in Python?

Rekursive Schleife durch verschachtelte Wörterbuchwerte

Problemstellung

Bei einem verschachtelten Wörterbuch besteht die Aufgabe darin, alle seine Schlüssel-Wert-Paare zu durchlaufen. Drucken von Werten, die keine verschachtelten Wörterbücher sind. Bei verschachtelten Wörterbüchern sollte die Durchquerung rekursiv fortgesetzt werden, um ihre Schlüssel-Wert-Paare auszugeben.

Lösung

Unter Verwendung der Rekursion kann eine Funktion definiert werden, um diese Aufgabe auszuführen:

def myprint(d):
    for k, v in d.items():
        if isinstance(v, dict):
            myprint(v)
        else:
            print("{0} : {1}".format(k, v))
Nach dem Login kopieren

Diese Funktion akzeptiert ein Wörterbuch als Argument und durchläuft seine Schlüssel-Wert-Paare. Wenn ein Wert kein verschachteltes Wörterbuch ist, wird das Schlüssel-Wert-Paar ausgegeben. Wenn der Wert ein Wörterbuch ist, wird die Funktion „myprint“ rekursiv mit diesem neuen Wörterbuch aufgerufen.

Beispiel

Betrachten Sie das folgende Wörterbuch:

d = {
    "xml": {
        "config": {
            "portstatus": {"status": "good"},
            "target": "1"
        },
        "port": "11"
    }
}
Nach dem Login kopieren

Der Aufruf der Funktion „myprint“ würde Ausgabe:

xml : {config: {portstatus: {status: good}, target: 1}, port: 11}
config : {portstatus: {status: good}, target: 1}
portstatus : {status: good}
target : 1
port : 11
Nach dem Login kopieren

Diese Lösung bietet einen rekursiven Mechanismus, um alle verschachtelten Wörterbuchwerte zu durchlaufen und sie auszugeben wie gewünscht.

Das obige ist der detaillierte Inhalt vonWie drucke ich alle Werte aus einem verschachtelten Wörterbuch in Python rekursiv aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage