from typing import List
import re


def parse_dot_argument(dot_argument: str) -> List[str]:
    """
    Takes a single argument (Dict key) from dot notation and checks if it also contains list indexes.
    :param dot_argument: Dict key from dot notation possibly containing list indexes
    :return: Dict key and possible List indexes
    """
    list_indexes = re.search(r"((\[[0-9]+])+$)", dot_argument)  # Check for List indexes at the argument's end.
    if list_indexes is not None:  # Get each List index in '[index]' format and get index only.
        parsed_list_indexes = re.findall(r"(\[[0-9]+])", list_indexes.group())
        parsed_list_indexes = [index for index in parsed_list_indexes]
        return [dot_argument[0:list_indexes.start()]] + parsed_list_indexes
    return [dot_argument]