繁体   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