如何处理空字典值

How to deal with empty dict value

我有一个字典形式的 json 列表,下面的内容允许我从字典中获取值:

valone = out['red']['blue']['green']

valtwo = out['purple']['yellow']['black']

从那里我可以 运行 围绕 valone 或 valtwo 的条件语句,以查看它们是黑色还是绿色。

现在这很好用,当这些键被填充时,但当它们没有时,我得到

KeyError: 'black'

这是我可以看到的值是空的。

我很难弄清楚如何在声明 dict 值之前过滤掉。

我看到有人建议

out.get("black", None)

但是我无法访问黑色,因为它是我追求的第三个值?

您可以使用 try/except 语法:

try:
    valone = out['red']['blue']['green']
except:
    # whatever

当您使用多级索引时,最干净的方法是使用异常来控制流程(这在 Python 中被广泛接受,但在其他语言中经常不受欢迎)

try:
    valone = out['red']['blue']['green']
except KeyError:
    # Handle Your Exception Here