Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengulang Secara Rekursif Melalui Kamus Bersarang dalam Python?

Bagaimanakah Saya Boleh Mengulang Secara Rekursif Melalui Kamus Bersarang dalam Python?

Susan Sarandon
Susan Sarandonasal
2024-11-27 21:45:12835semak imbas

How Can I Recursively Iterate Through Nested Dictionaries in Python?

Berulang melalui Kamus Bersarang

Untuk mengulangi semua pasangan nilai kunci dalam kamus, termasuk dalam kamus bersarang, ulangan diperlukan. Berikut ialah fungsi rekursif yang menangani masalah ini:

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

Dalam fungsi ini, kami meneroka kamus secara rekursif:

  • Jika nilai ialah kamus lain, fungsi itu memanggil dirinya dengan itu kamus.
  • Jika tidak, ia mencetak nilai kunci pasangan.

Contoh Penggunaan:

Pertimbangkan kamus berikut:

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

Memanggil print_nested_dict(d) akan mencetak output berikut :

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

Kaedah ini berkesan merentasi semua peringkat bersarang kamus, memberikan pandangan menyeluruh tentang struktur data.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengulang Secara Rekursif Melalui Kamus Bersarang dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn