Python Safely Navigate a Complex Data Structure: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 10: Line 10:
first_level_map = yaml.get('first_level_key', {}) # if 'first_level_key' does not exist at all, return {}, but if it exists and has nothing under it, it returns None.
first_level_map = yaml.get('first_level_key', {}) # if 'first_level_key' does not exist at all, return {}, but if it exists and has nothing under it, it returns None.
if first_level_map:
if first_level_map:
   second_level_map = first_level_map.get('second_level_key', {})
   second_level_map = first_level_map.get('second_level_key')
   if second_level_map:
   if second_level_map:
     v = second_level_map.get('leaf_key')
     v = second_level_map.get('leaf_key')
return v
return v
</syntaxhighlight>
</syntaxhighlight>

Revision as of 00:18, 3 March 2022

Internal

Overview

yaml = ...
v = None
first_level_map = yaml.get('first_level_key', {}) # if 'first_level_key' does not exist at all, return {}, but if it exists and has nothing under it, it returns None.
if first_level_map:
  second_level_map = first_level_map.get('second_level_key')
  if second_level_map:
    v = second_level_map.get('leaf_key')
return v