Como funciona a inserção de Python?

Aqui está uma implementação Python de inserção de inserção, tentei seguir os valores no papel, mas uma vez que a variável de contagem i fica maior que len (s) eu não sei o que fazer, como / por que ela ainda roda?

def sort_numbers(s):
    for i in range(1, len(s)):
        val = s[i]
        j = i - 1
        while (j >= 0) and (s[j] > val):
            s[j+1] = s[j]
            j = j - 1
        s[j+1] = val

def main():
    x = eval(input("Enter numbers to be sorted: "))
    x = list(x)
    sort_numbers(x)
    print(x)

questionAnswers(18)

yourAnswerToTheQuestion