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