from typing import List


def median(data_list:List[str]) -> float: # Função baseada no que estudei no Livro Data Science do Zero
    """ Calcula a mediana dos valores de uma lista.
    Por meio de uma lista se encontra os pontos médios e retorna a mediana da lista.
    Baseado no que aprendi no Livro **Data Science do Zero: Primeiras Regras com o 
    Python**, *Alta Book*, Joel Grus 2016.

    :param data_list: Lista com os valores a serem calculados.

    :returns: Inteiro contendo o valor no ponto médio em caso de tamanho ímpar, ou a média dos pontos médios em caso de lista com tamanho par.
    """
    sorted_list:List[str] = sorted(data_list, key=int)
    n:int = len(data_list)
    mid:int = n // 2

    if n % 2 == 1: # odd
        val:float = float(sorted_list[mid])
    else: # even
        hi:float = float(sorted_list[mid])
        low:float = float(sorted_list[mid-1])
        val:float = (hi+low) / 2
    return val