Python: como posso tornar minha implementação do bubble mais eficiente em termos de tempo?

Aqui está o meu código - um algoritmo de classificação de bolhas para classificar os elementos da lista em ordem ascendente:

foo = [7, 0, 3, 4, -1]
cnt = 0
for i in foo:
    for i in range(len(foo)-1):
        if foo[cnt] > foo[cnt + 1]:
            temp = foo[cnt]
            c[cnt] = c[cnt + 1]
            c[cnt + 1] = temp
        cnt = cnt + 1
    cnt = 0

Estive revisando meu código, mas ainda é ineficiente para um juiz online. Alguma ajuda seria muito apreciada!

questionAnswers(3)

yourAnswerToTheQuestion