Функция 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>
Почему "нет"? появляются? Заранее спасибо за любую помощь или идеи.