【问题标题】:Defaultdict not returning default valuesDefaultdict 不返回默认值
【发布时间】:2022-01-22 18:43:01
【问题描述】:
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 ?

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    因为defaultdicts有三个等级,直到你达到0的值,所以你需要这样做:

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

    【讨论】:

    • 好的,谢谢。
    【解决方案2】:

    您有 3 个级别的 defaultdict。因此,要获得默认值,您需要 3 个索引。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-02
      • 1970-01-01
      • 2012-11-03
      • 2019-02-22
      • 2015-07-06
      • 2021-02-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多