def del_key(items, data):
    """Recursively remove deep key from dict.

    Args:
        items (list): List of dictionary keys
        data (dict): Portion of dictionary to operate on

    Raises:
        KeyError: If key does not exist
    """
    if not isinstance(data, dict):
        raise KeyError

    item = items.pop(0)
    if items and item in data:
        return del_key(items, data[item])
    elif not items and item in data:
        del data[item]
    elif not items and item not in data:
        raise KeyError(item)