如何检测字典中是否存在可能导致无限循环或引起最大递归深度
异常的后向边
(也称为后向引用
)。
x = {'a':1}
x['b'] = x #referencing same dict, creating back edge
print(x)
>{'a': 1, 'b': {...}}
显然,Python聪明到足以找出背向边
并通过将它们打印为{...}
来标记它们。有没有一种方法可以访问这些信息,以便可以跳过它们,而无需检查所有元素的id是否相同?