Hacer una lista a partir de elementos de otra lista la convierte en NoneType

Estoy tratando de crear una lista de palabras usando palabras de una lista separada de palabras. Por ejemplo:

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

Sin embargo, me encuentro con un problema en mi código donde trato de hacer esto, y convierte la nueva lista en un objeto NoneType.

Este es el código que arroja un error:

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

La variable 'cosas' es una lista de palabras de cadena tomadas de la entrada del usuario. 'words_d' es un diccionario creado anteriormente, que no es importante en este momento:

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

Cuando intento ejecutar el programa, obtengo esto:

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

¿Alguien puede explicarme por qué la lista se está convirtiendo en un NoneType? He intentado una variedad de métodos para intentar solucionar esto, pero no puedo entenderlo.

EDITAR:

He intentado esto y obtuve el mismo error:

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

He examinado otras preguntas y no explican por qué sucede esto en mi código. Entiendo que .append () devuelve None. Esto no es lo que está pasando aquí.

Respuestas a la pregunta(1)

Su respuesta a la pregunta