首頁 > 後端開發 > Python教學 > 如何從嵌套字典中遞歸存取和列印值?

如何從嵌套字典中遞歸存取和列印值?

Barbara Streisand
發布: 2024-12-06 04:20:13
原創
683 人瀏覽過

How Can I Recursively Access and Print Values from a Nested Dictionary?

遞歸存取巢狀字典值

使用巢狀字典時,通常需要迭代所有鍵值對以擷取特定資料。當嘗試循環遍歷字典並檢索所有非嵌套字典值,同時遞歸存取巢狀字典值時,就會出現此問題。

由於迭代的範圍有限,第一次嘗試使用迭代僅適用於前兩個層級內循環。由於其靜態實現,第二次嘗試也無法完全遍歷字典。

要克服此限制,需要遞歸。透過定義一個函數來列印字典值,您可以在任何巢狀字典上遞歸呼叫該函數來存取它們的值。

以下是遞歸解決方案的範例:

def myprint(d):
    for k, v in d.items():
        if isinstance(v, dict):
            myprint(v)  # Recurs if value is a dictionary
        else:
            print("{0} : {1}".format(k, v))
登入後複製

此解首先迭代輸入字典的鍵值對。對於每個鍵值對,它檢查該值是否為字典。如果是,則以巢狀字典作為參數遞歸呼叫 myprint 函數。如果值不是字典,它只是列印鍵值對。

透過利用遞歸,該解決方案可以遍歷任意數量的巢狀字典層級來存取和列印所有非巢狀字典值。

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

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