Python de codificação de comprimento de execução

A pergunta é: Escreva uma função que pegue, como argumento, uma lista de caracteres e retorne uma lista que reflita a codificação de execução dessa lista. Os elementos na lista retornada seguem o seguinte padrão: os índices pares contêm os caracteres e os índices ímpares contêm o número de vezes que o caractere é repetido consecutivamente.

Quando digito uma lista na função, ela não repete todo o comprimento da lista. Ele funcionará para listas de comprimentos mais curtos, mas não para comprimentos mais longos.

def runLengthEncoding(myList):
    aList=[]
    count=1
    for i in range(1,len(myList)):
        if myList[i] == myList[i-1]:
            count=count+1
        else:
            aList.append(myList[i-1])
            aList.append(count)
            count=1
            if i == (len(myList)-1):
                aList.append(myList[i])
                aList.append(count)
    return aList

questionAnswers(1)

yourAnswerToTheQuestion