def dict_nested_get(dictionary_or_value, keys, default=None):
    """
    Performs a dictionary.get(key, default) using the supplied list of keys assuming that each successive key is nested.

    For example, for a dictionary dictionary = { "key1": { "key2": 1 } }, use nested_get(dictionary, ["key1", "key2"]) to get the value of "key2".

    Args:
        dictionary_or_value: The dictionary to get the value from or the value itself from this recursive method.
        keys: The list of nested keys.
        default: The default value to return if no value exists. Default is None.

    Returns:
        The value of the nested key or the default if not found.
    """
    if isinstance(dictionary_or_value, dict) and isinstance(keys, list) and (len(keys) > 1):
        key = keys.pop(0)
        return dict_nested_get(dictionary_or_value.get(key, default), keys, default)
    elif isinstance(dictionary_or_value, dict) and isinstance(keys, list) and (len(keys) == 1):
        return dictionary_or_value.get(keys[0], default)
    elif (dictionary_or_value is not None) and (not isinstance(dictionary_or_value, dict)):
        return dictionary_or_value
    else:
        return default