如何处理空字典值

时间:2015-11-12 04:58:27

标签: python dictionary keyerror

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

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

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

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

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

KeyError: 'black'

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

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

我见过人们建议

out.get("black", None)

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

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:0)

您可以使用try / except语法:

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