創建無限級遞歸defaultdict
在Python中,defaultdict是一個多功能工具,它為字典中缺少的鍵提供預設值。但是,是否可以建立無限級遞歸defaultdict?這意味著創建一個 defaultdict,其中預設值也是一個 defaultdict,從而有效地建立嵌套的 defaultdict。
最初,人們可能會期望 x = defaultdict(defaultdict) 會建立一個兩級 defaultdict,但存取 x[0 ][0] 導致 KeyError。要實現無限級遞歸,需要另一種方法。
一種解決方案是使用 lambda 函數作為預設值:
x = defaultdict(lambda: defaultdict(dict))
這會建立一個 defaultdict,其中預設值為傳回另一個 defaultdict 並以字典作為預設值的函數。這允許無限級遞歸,因為存取 x[0][1][0] 在嵌套的 defaultdicts 中建立一個空字典。
與其他答案中提出的遞歸方法相比,這種方法具有幾個優點:
以上是如何在 Python 中建立無限級遞歸 defaultdict?的詳細內容。更多資訊請關注PHP中文網其他相關文章!