Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Schlüssel-Wert-Paare aus einem verschachtelten Wörterbuch in Python rekursiv drucken?

Wie kann ich Schlüssel-Wert-Paare aus einem verschachtelten Wörterbuch in Python rekursiv drucken?

Barbara Streisand
Freigeben: 2024-11-28 06:30:11
Original
259 Leute haben es durchsucht

How Can I Recursively Print Key-Value Pairs from a Nested Dictionary in Python?

Verschachtelte Wörterbücher durchqueren

In diesem Problem haben Sie ein verschachteltes Wörterbuch und möchten alle Schlüssel-Wert-Paare drucken, bei denen der Wert nicht vorhanden ist ein Wörterbuch. Darüber hinaus müssen Sie alle verschachtelten Wörterbücher durchlaufen und ihre Schlüssel-Wert-Paare rekursiv ausgeben.

Sie könnten eine Lösung mit mehreren verschachtelten Schleifen versuchen, aber dieser Ansatz lässt sich nicht skalieren, wenn Sie auf mehr Verschachtelungsebenen stoßen. Der Schlüssel liegt in der Verwendung von Rekursion.

Rekursive Lösung

  1. Definieren Sie die myprint-Funktion, die ein Wörterbuch als Eingabe verwendet.
  2. Innerhalb der Funktion:

    • Iterieren Sie über den Schlüsselwert des Wörterbuchs Paare.
    • Wenn der aktuelle Wert ein Wörterbuch ist, rufen Sie myprint rekursiv für dieses Wörterbuch auf.
    • Wenn der Wert kein Wörterbuch ist, geben Sie das Schlüssel-Wert-Paar im gewünschten Format aus.

Hier ist ein Implementierung:

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

Verwendung

Um diese rekursive Lösung zu verwenden, übergeben Sie einfach Ihr verschachteltes Wörterbuch an die Funktion myprint. Zum Beispiel:

d = {
    'xml': {
        'config': {
            'portstatus': {'status': 'good'},
            'target': '1'
        },
        'port': '11'
    }
}
myprint(d)
Nach dem Login kopieren

Ausgabe

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

Das obige ist der detaillierte Inhalt vonWie kann ich Schlüssel-Wert-Paare aus einem verschachtelten Wörterbuch in Python rekursiv drucken?. 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