簡體   English   中英

defaultdict(lambda:defaultdict(dict))的含義

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM