簡體   English   中英

Defaultdict 不返回默認值

[英]Defaultdict not returning default values

d1 = defaultdict(lambda : defaultdict(lambda : defaultdict (lambda : 0)))
d1['first']['second'] = 2 #Assigning some value
d1['first']['third']   #Expecting to return the default value, which is 0, but ...
defaultdict(<function <lambda>.<locals>.<lambda>.<locals>.<lambda> at 0x7ff5765421e0>, {})

為什么這不返回0?

因為在達到值0之前存在三個級別的defaultdict ,所以你需要這樣做:

>>> d1['first']['second']['third']
0

您有 3 個級別的defaultdict 因此,要獲得默認值,您需要 3 個索引。

print(d1[1][2][3])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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