from typing import Any, Dict, Hashable, Sequence NOT_PRESENT_IN_STATE = object() """ Need an object to return when the sim state does not contain a requested value. Cannot use None because sometimes the thing requested in the state could equal None. This NOT_PRESENT_IN_STATE is a sentinel for this purpose. """ def access_from_nested_dict(dictionary: Dict, keys: Sequence[Hashable]) -> Any: """ Access an item from a deeply dictionary with a list of keys. For example, if the dictionary is {1: 'a', 2: {3: {4: 'b'}}}, then the key [2, 3, 4] would return 'b', and the key [2, 3] would return {4: 'b'}. Raises a KeyError if specified key does not exist at any level of nesting. :param dictionary: Deeply nested dictionary :type dictionary: Dict :param keys: List of dict keys used to traverse the nested dict. Each item corresponds to one level of depth. :type keys: List[Hashable] :return: The value in the dictionary :rtype: Any """ key_list = [*keys] # copy keys to a new list to prevent editing original list if len(key_list) == 0: return dictionary k = key_list.pop(0) if k not in dictionary: return NOT_PRESENT_IN_STATE return access_from_nested_dict(dictionary[k], key_list)