Функция Python возвращает None, непонятно почему

Я довольно плохо знаком с Python и столкнулся с проблемой, которую не могу объяснить. Я пробовал искать ответы на форумах здесь, но то, что я нахожу, не соответствует моей ситуации. Такое ощущение, что я упускаю что-то довольно простое, но я этого не вижу (очевидно ...)

Этот код работает так, как я ожидаю:

<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>

Это возвращает:

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

Что я и хочу.

Я думал, что с помощью добавления и расширения в списке внутри функции также будет работать. Один & quot; добавить & quot; добавлено в нижней части кода.

<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>

Но это возвращает:

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

Почему "нет"? появляются? Заранее спасибо за любую помощь или идеи.

Ответы на вопрос(1)

Ваш ответ на вопрос