首頁 > 後端開發 > Python教學 > 如何在 Python 中建立無限嵌套的 defaultdict?

如何在 Python 中建立無限嵌套的 defaultdict?

Linda Hamilton
發布: 2024-11-24 04:35:11
原創
653 人瀏覽過

How Can I Create an Infinitely Nested defaultdict in Python?

無限嵌套的預設字典

問題

如何建立無限嵌套的預設字典?換句話說,是否可以將一個defaultdict的預設值設為另一個defaultdict?這將允許任意深度的嵌套結構根據需要自動建立必要的字典。

例如,考慮以下程式碼:

x = defaultdict(...stuff...)
x[0][1][0]
{}
登入後複製

在這種情況下,x[0] 將是一個defaultdict,x[0][1]將是另一個defaultdict,x [0][1][0]將是一個標準字典。

答案

雖然可以建立包含其他defaultdict 的defaultdict,但標準defaultdict 參數並不會直接支援它。但是,有一個簡單的解決方法,允許多層級嵌套 defaultdict。

不要將預設值定義為另一個defaultdict,而是將預設值定義為傳回defaultdict 的lambda 函數:

x = defaultdict(lambda: defaultdict(dict))
登入後複製

此程式碼建立一個兩級defaultdict,其中x[0 ]是一個defaultdict,x[0][1]是另一個defaultdict,其值為字典。

對於無限級嵌套,只需向lambda 函數添加額外的級別即可:

x = defaultdict(lambda: defaultdict(lambda: defaultdict(...)))
登入後複製

此解決方法可以創建任意嵌套的預設字典,提供一種管理複雜資料的便捷方法具有自動價值創造的結構。

以上是如何在 Python 中建立無限嵌套的 defaultdict?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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