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')
Nullしかし、私が考えることができる、、、または空を含めると、メソッドがないため、呼び出されたとき''にチェーン.get("child")が失敗します。''.get("child")"".get()
私が今これを解決している方法は、try-except各.get("")呼び出しの周りに一連のシーケンシャルを使用することですが、それは愚かでunpythonのようです---デフォルトのリターン"skip"または"pass"チェーンをサポートし、深くではなくインテリジェントに失敗する何かがあります-存在しないキーに飛び込みますか?
理想的には、これをフォームのリスト内包表記にしたいと思います。
[m.get("gparents").get("parent").get("child") for m in M]
しかし、親がいないために.get("child")呼び出しが私のプログラムを終了させる場合、これは現在不可能です。