Создание списка из элементов другого списка превращает его в NoneType

Я пытаюсь создать список слов, используя слова из отдельного списка слов. Например:

>>> stuff = ['this', 'is', 'a', 'test']
>>> newlist = [stuff[0]]
>>> newlist
['this']

Тем не менее, я столкнулся с проблемой в моем коде, где я пытаюсь это сделать, и он превращает новый список в объект NoneType.

Это код, который выдает ошибку:

markov_sentence = [stuff[0]]
for i in range(100):
    if len(markov_sentence) > 0:
        if words_d[markov_sentence[-1]] != []:
            newword = random.choice(words_d[markov_sentence[-1]])
            markov_sentence = markov_sentence.append(newword)
        else:
            break
return markov_sentence

Переменная 'stuff' представляет собой список строковых слов, взятых из пользовательского ввода. 'words_d' - это словарь, созданный ранее, который сейчас не важен:

stuff = input("Input a series of sentences: ")
stuff = stuff.split()[:-1] #this is here because there was an empty string at the end

Когда я пытаюсь запустить программу, я получаю это:

Input a series of sentences: this is a test this should work
Traceback (most recent call last):
  File "/u/sbiederm/markov.py", line 32, in <module>
    main()
  File "/u/sbiederm/markov.py", line 29, in main
    print(markov(stuff))
  File "/u/sbiederm/markov.py", line 18, in markov
    if len(markov_sentence) > 0:
TypeError: object of type 'NoneType' has no len()

Может кто-нибудь объяснить мне, почему список превращается в NoneType? Я пробовал различные методы, чтобы попытаться это исправить, но я просто не могу понять это.

РЕДАКТИРОВАТЬ:

Я попробовал это и получил ту же ошибку:

markov_sentence = []
markov_sentence.append(stuff[0])

Traceback (most recent call last):
  File "C:\Python34\markov.py", line 33, in <module>
    main()
 File "C:\Python34\markov.py", line 30, in main
    print(markov(stuff.split()))
 File "C:\Python34\markov.py", line 20, in markov
    if len(markov_sentence) > 0:
TypeError: object of type 'NoneType' has no len()

Я посмотрел на другие вопросы, и они не объясняют, почему это происходит в моем коде. Я понимаю, что .append () возвращает None. Это не то, что здесь происходит.

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

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