def media_recursiva(valores, i = 0, n = None):
    if n is None:
        n = len(valores)

    # último elemento
    if i == n - 1:
        return valores[i] 
      
    # dividir por n a soma computada até agora 
    if i == 0: 
        return (valores[i] + media_recursiva(valores, i + 1, n)) / n
      
    # computar soma
    return valores[i] + media_recursiva(valores, i + 1, n)

print(media_recursiva(list(range(3000)))) # lista com 3000 elementos
