如何建立無限級遞歸defaultdict
Python的defaultdict是一種通用的資料結構,可用於建立嵌套字典。但是,預設情況下,defaultdicts 僅提供單層巢狀。有沒有辦法創建一個defaultdict,它充當內部defaultdict的預設工廠,從而有效地創建無限級遞歸結構?
原始問題試圖實現以下行為:
x = defaultdict(...stuff...) x[0][1][0] # Should return an empty dictionary {}
只使用本機defaultdict參數,不可能建立無限嵌套的遞歸defaultdict。流行的解決方法是利用 lambda 函數:
x = defaultdict(lambda: defaultdict(dict))
此方法建立一個 defaultdict,在存取遺失的鍵時產生新的 defaultdict。這有效地提供了無限的嵌套。
基於 Lambda的方法的優點:
注意:
無限嵌套使用lambda 的defaultdict 具有以下特徵:
以上是如何在 Python 中建立無限嵌套的 defaultdict?的詳細內容。更多資訊請關注PHP中文網其他相關文章!