如何处理空字典值

dev*_*ull 1 python dictionary keyerror

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

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

valtwo = out['purple']['yellow']['black']
Run Code Online (Sandbox Code Playgroud)

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

现在这种方法很有效,当这些键被填充时,但是当它们不是我得到的时候

KeyError: 'black'
Run Code Online (Sandbox Code Playgroud)

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

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

我见过人们的建议

out.get("black", None)
Run Code Online (Sandbox Code Playgroud)

但我不能访问黑色,因为我是它的第三个价值?

Abh*_*jit 5

当您使用多级索引时,最简单的方法是使用异常来控制流(这在Python中是完全可以接受的,尽管在其他语言中经常不赞成)

try:
    valone = out['red']['blue']['green']
except KeyError:
    # Handle Your Exception Here
Run Code Online (Sandbox Code Playgroud)