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

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

Barbara Streisand
發布: 2024-11-28 06:30:11
原創
260 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板