Nem*_*emo 0 python defaultdict
Python中以下行的含义是什么?
x = defaultdict(lambda: defaultdict(dict))
Run Code Online (Sandbox Code Playgroud)
让我们从内到外解决它.首先dict是字典类型.与其他类型一样,调用它会创建该类型的实例(也称为对象).A defaultdict是一个采用可调用参数的类型:在调用时会产生一个要放入字典中的项目.当访问不存在的条目而不是KeyError像普通的那样生成时,会发生这种情况dict.第三,lambda是一种基于单个表达式创建未命名函数的方法,因此这两个类似(第二个包含一个知道自己名称的函数,第一个不是):
y = lambda: defaultdict(dict)
def y():
return defaultdict(dict)
Run Code Online (Sandbox Code Playgroud)
最后,整件事情被另一件事包裹起来defaultdict.所以结果是x一个defaultdict产生defaultdict产生小号dict实例.在第三级,不再有默认值.
| 归档时间: |
|
| 查看次数: |
216 次 |
| 最近记录: |