Python:检查嵌套字典是否存在

Lui*_* T. 4 python python-3.x

我在列表中有几个嵌套字典,我需要验证是否存在特定路径,例如

dict1['layer1']['layer2'][0]['layer3']
Run Code Online (Sandbox Code Playgroud)

如何使用 IF 语句检查路径是否有效?

我本来想

if dict1['layer1']['layer2'][0]['layer3'] :
Run Code Online (Sandbox Code Playgroud)

但它不起作用

Kir*_*gin 6

这是明确的短代码try/except

try:
    dict1['layer1']['layer2'][0]['layer3']
except (KeyError, IndexError):
    present = False
else:
    present = True

if present: 
    ...
Run Code Online (Sandbox Code Playgroud)

获取元素:

try:
    obj = dict1['layer1']['layer2'][0]['layer3']
except (KeyError, IndexError):
    obj = None  # or whatever
Run Code Online (Sandbox Code Playgroud)