我正在使用 dict.get('keyword') 方法查询嵌套字典。目前我的语法是......
M = cursor_object_results_of_db_query
for m in M:
X = m.get("gparents").get("parent").get("child")
for x in X:
y = x.get("key")
但是,有时“父”或“子”标签之一不存在,我的脚本失败。我知道使用get()
我可以在表单的密钥不存在的情况下包含默认值...
get("parent", '') or
get("parent", 'orphan')
但是,如果我包含任何我能想到的 , 或 empty ,则调用时链接Null
失败,因为没有 method 。''
.get("child")
''.get("child")
""
.get()
try-except
我现在解决这个问题的方法是在每个调用周围使用一堆顺序.get("")
,但这似乎很愚蠢和不python - 有没有一种方法可以默认返回"skip"
或"pass"
仍然支持链接和智能失败,而不是深度-潜入不存在的键?
理想情况下,我希望这是对表单的列表理解:
[m.get("gparents").get("parent").get("child") for m in M]
.get("child")
但是当缺席的父母导致调用终止我的程序时,这目前是不可能的。