首頁 >後端開發 >Python教學 >如何在 Python 中遞歸列印嵌套字典中的鍵值對?

如何在 Python 中遞歸列印嵌套字典中的鍵值對?

Barbara Streisand
Barbara Streisand原創
2024-11-28 06:30:11193瀏覽

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

遍歷巢狀字典

在這個問題中,你有一個嵌套字典,想要印出所有非值的鍵值對一本字典。此外,您需要遍歷任何巢狀字典並遞歸地列印它們的鍵值對。

您可以嘗試使用多個巢狀循環的解決方案,但當您遇到更多層級的巢狀時,這種方法將無法擴展。關鍵是使用遞歸。

遞歸解

  1. 定義以字典作為輸入的 myprint 函數。
  2. 在函數內:

    • 迭代字典的鍵值對。
    • 如果目前值是字典,則在該字典上遞歸呼叫 myprint。
    • 如果值不是字典,則以所需格式列印鍵值對.

這是實作:

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

用法

要使用此遞歸解決方案,只需將巢狀字典傳遞給myprint 函數即可。例如:

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

輸出

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

以上是如何在 Python 中遞歸列印嵌套字典中的鍵值對?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn