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
Barbara StreisandOriginal
2024-11-28 06:30:11281Durchsuche

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))

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)

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

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!

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