如何处理空字典值
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
我有一个字典形式的 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