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