问题:
是否可以创建一个也用作 defaultdict 的 defaultdict本身的默认值,导致无限级递归defaultdict?目标是允许访问深层嵌套元素而不会遇到 KeyError 异常。
答案:
虽然其他答案解决了“无限多个”嵌套默认字典的创建问题,他们忽略了对两层深度默认字典的具体需求。为此,可以使用以下代码:
defaultdict(lambda: defaultdict(dict))
此构造提供以下优点:
示例:
x = defaultdict(lambda: defaultdict(dict)) x[0][1][0] {} # returns an empty dictionary
以上是defaultdict 可以递归地作为其自身的默认值进行无限嵌套吗?的详细内容。更多信息请关注PHP中文网其他相关文章!