[英]Meaning of defaultdict(lambda: defaultdict(dict))
Python中以下行的含義是什么?
x = defaultdict(lambda: defaultdict(dict))
讓我們從內而外解決它。 首先, dict
是字典類型。 與其他類型一樣,調用它會創建該類型的實例(也稱為對象)。 defaultdict
是一種帶有可調用參數的類型:被調用時會產生要放入字典的項目。 當訪問的條目不存在時發生這種情況,而不是像普通dict
那樣產生KeyError
。 第三, lambda
是一種基於單個表達式創建未命名函數的方法,因此這兩個是相似的(第二個函數擁有一個知道自己名稱的函數,第一個不知道):
y = lambda: defaultdict(dict)
def y():
return defaultdict(dict)
最后,整個事情都包裝在另一個defaultdict
。 因此,結果是x
是一個defaultdict
,該defaultdict
生成defaultdict
,該defaultdict
生成dict
實例。 在第三級,沒有默認值了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.