我只是遇到了以下在 Python中实现AutoVivification的方式:
from collections import defaultdict
Tree = lambda: defaultdict(Tree)
# common name by class, order, genus, and type-species
common_name = Tree()
common_name['Mammalia']['Primates']['Homo']['H. sapiens'] = 'human being'
以下构造如何工作?
Tree = lambda: defaultdict(Tree)
Tree
似乎没有在 lambda 函数的主体之前定义,也没有作为参数传递。
lambda 函数的主体在Tree
定义之前是如何知道的?该语言还支持哪些其他类型的递归定义?