如何创建无限级递归defaultdict
Python的defaultdict是一种通用的数据结构,可用于创建嵌套字典。但是,默认情况下,defaultdicts 仅提供单层嵌套。有没有办法创建一个defaultdict,它充当内部defaultdict的默认工厂,从而有效地创建无限级递归结构?
原始问题试图实现以下行为:
x = defaultdict(...stuff...) x[0][1][0] # Should return an empty dictionary {}
仅使用本机defaultdict参数,不可能创建无限嵌套的递归defaultdict。流行的解决方法是利用 lambda 函数:
x = defaultdict(lambda: defaultdict(dict))
此方法创建一个 defaultdict,在访问丢失的键时生成新的 defaultdict。这有效地提供了无限级别的嵌套。
基于 Lambda 的方法的优点:
注意:
无限嵌套使用 lambda 的 defaultdict 具有以下特征:
以上是如何在 Python 中创建无限嵌套的 defaultdict?的详细内容。更多信息请关注PHP中文网其他相关文章!