Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mencetak Pasangan Nilai Kunci secara Rekursif daripada Kamus Bersarang dalam Python?
Merentasi Kamus Bersarang
Dalam masalah ini, anda mempunyai kamus bersarang dan mahu mencetak semua pasangan nilai kunci di mana nilainya tidak sebuah kamus. Selain itu, anda perlu merentasi mana-mana kamus bersarang dan mencetak pasangan nilai kunci mereka secara rekursif.
Anda boleh mencuba penyelesaian dengan berbilang gelung bersarang, tetapi pendekatan ini tidak akan berskala apabila anda menghadapi lebih banyak tahap bersarang. Kuncinya ialah menggunakan rekursi.
Penyelesaian Rekursif
Dalam fungsi:
Ini adalah pelaksanaan:
def myprint(d): for k, v in d.items(): if isinstance(v, dict): myprint(v) else: print("{} : {}".format(k, v))
Penggunaan
Untuk menggunakan penyelesaian rekursif ini, hanya hantar kamus bersarang anda ke fungsi myprint. Contohnya:
d = { 'xml': { 'config': { 'portstatus': {'status': 'good'}, 'target': '1' }, 'port': '11' } } myprint(d)
Output
xml : {'config': {'portstatus': {'status': 'good'}, 'target': '1'}, 'port': '11'} config : {'portstatus': {'status': 'good'}, 'target': '1'} portstatus : {'status': 'good'} status : good target : 1 port : 11
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencetak Pasangan Nilai Kunci secara Rekursif daripada Kamus Bersarang dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!