<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _get_sub_prop(container, keys, default=None):
 """Get a nested value from a dictionary. This method works like ``dict.get(key)``, but for nested values. Arguments: container (dict):
 A dictionary which may contain other dictionaries as values. keys (iterable):
 A sequence of keys to attempt to get the value for. Each item in the sequence represents a deeper nesting. The first key is for the top level. If there is a dictionary there, the second key attempts to get the value within that, and so on. default (object):
 (Optional) Value to returned if any of the keys are not found. Defaults to ``None``. Examples: Get a top-level value (equivalent to ``container.get('key')``). 'value' Get a top-level value, providing a default (equivalent to ``container.get('key', default='default')``). 'not found' Get a nested value. 'value' Returns: object: The value if present or the default. """

    sub_val = container
    for key in keys:
        if key not in sub_val:
            return default
        sub_val = sub_val[key]
    return sub_val