我有一个字典形式的json列表,以下内容允许我从字典中获取值:
valone = out['red']['blue']['green']
valtwo = out['purple']['yellow']['black']
从那里我可以围绕valone或valtwo运行条件语句,看看它们是否是绿色的黑色。
现在这种方法很有效,当这些密钥被填充时,但是当它们不是我的时候
KeyError: 'black'
我可以看到这个值是空的。
我很难在声明dict值之前弄清楚如何过滤掉。
我见过人们建议
out.get("black", None)
但是我不能访问黑色,因为我是我追求的第三个价值?
答案 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