Я провожу опрос вложенного словаря, используя метод 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")
Однако иногда один из "родительских" или "дочерних" тегов не существует, а мой script терпит неудачу. Я знаю, используя get() Я могу включить значение по умолчанию в случае, если ключ не существует формы...
get("parent", '') or
get("parent", 'orphan')
Но если я включаю любые Null, '' или пустые, о которых я могу думать, цепочка .get("child") терпит неудачу при вызове ''.get("child"), так как "" не имеет метода .get().
Теперь я решаю это, используя кучу последовательных try-except вокруг каждого вызова .get(""), но это кажется глупым и нереализованным --- есть ли способ возврата по умолчанию "skip" или "pass" или что-то, что по-прежнему будет поддерживать цепочку и терпеть неудачу разумно, а не глубоко погружаться в ключи, которые не существуют?
В идеале, мне бы хотелось, чтобы это было понятием в виде формы:
[m.get("gparents").get("parent").get("child") for m in M]
но в настоящее время это невозможно, когда отсутствующий родитель вызывает вызов .get("child") для завершения моей программы.