Função Python retorna Nenhum, não está claro porque

Eu sou muito novo para python e estou chegando a um problema que não posso explicar. Eu tentei pesquisar as respostas do fórum aqui, mas o que estou encontrando não corresponde à minha situação. Parece que estou sentindo falta de algo bem básico, mas não estou vendo (obviamente ...)

Esse código é executado da maneira esperada:

<code>import string

mults = [1,2,3,4,6,7,9,10,12,15,16,19,21,22,24]

def factor_exp(lst):
    if lst[-1] == 1:
        lst.pop()
        return lst+[1]
    if lst[-1] == 2:
        lst.pop()
        return lst+[1,1]
    else:
        return "Should never get here"

print factor_exp([1])
print factor_exp([2])
print factor_exp([1,2])
</code>

Isso retorna:

<code>>>> 
[1]
[1, 1]
[1, 1, 1]
</code>

Qual é o que eu quero.

Eu pensei que usar o append e estender a lista dentro da função funcionaria também. Um "append" adicionado perto da parte inferior do código.

<code>import string

mults = [1,2,3,4,6,7,9,10,12,15,16,19,21,22,24]

def factor_exp(lst):
    if lst[-1] == 1:
        lst.pop()
        return lst+[1]
    if lst[-1] == 2:
        lst.pop()
        return lst.append([1,1])
    else:
        return "Should never get here"


print factor_exp([1])
print factor_exp([2])
print factor_exp([1,2])
</code>

Mas isso retorna:

<code>>>> 
[1]
None
None
</code>

Por que o "Nenhum" está aparecendo? Agradecemos antecipadamente por qualquer ajuda ou insights.

questionAnswers(1)

yourAnswerToTheQuestion