Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich in Python rekursiv durch verschachtelte Wörterbücher iterieren?

Wie kann ich in Python rekursiv durch verschachtelte Wörterbücher iterieren?

Susan Sarandon
Susan SarandonOriginal
2024-11-27 21:45:12859Durchsuche

How Can I Recursively Iterate Through Nested Dictionaries in Python?

Rekursion durch verschachtelte Wörterbücher

Um alle Schlüssel-Wert-Paare in einem Wörterbuch zu durchlaufen, einschließlich derjenigen in verschachtelten Wörterbüchern, ist eine Rekursion erforderlich. Hier ist eine rekursive Funktion, die dieses Problem angeht:

def print_nested_dict(d):
    for key, val in d.items():
        if isinstance(val, dict):
            print_nested_dict(val)
        else:
            print(f"{key} : {val}")

In dieser Funktion erkunden wir rekursiv das Wörterbuch:

  • Wenn der Wert ein anderes Wörterbuch ist, ruft sich die Funktion damit selbst auf Wörterbuch.
  • Andernfalls wird der Schlüsselwert ausgegeben Paar.

Beispielverwendung:

Betrachten Sie das folgende Wörterbuch:

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

Der Aufruf von print_nested_dict(d) druckt die folgende Ausgabe :

xml : {config: {portstatus: {status: good}, target: 1}, port: 11}
config : {portstatus: {status: good}, target: 1}
portstatus : {status: good}
target : 1
port : 11

Diese Methode durchläuft effektiv alle Ebenen verschachtelter Wörterbücher und stellt bereit eine umfassende Sicht auf die Datenstruktur.

Das obige ist der detaillierte Inhalt vonWie kann ich in Python rekursiv durch verschachtelte Wörterbücher iterieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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