Agregar más de un valor al diccionario al recorrer la cadena

Todavía super nuevo en Python 3 y he encontrado un problema ... Estoy tratando de crear una función que devuelva un diccionario con las claves que son la longitud de cada palabra y los valores son las palabras en la cadena.

Por ejemplo, si mi cadena es: "Los perros corren rápidamente hacia el parque", mi diccionario debería volver{2: ['to'] 3: ['The', 'run', 'the'], 4: ['dogs', 'park], 7: ['quickly', 'forward']}

El problema es que cuando paso por los elementos, solo agrega una de las palabras en la cadena.

def word_len_dict(my_string):
    dictionary = {}
    input_list = my_string.split(" ")
    unique_list = []
    for item in input_list:
        if item.lower() not in unique_list:
            unique_list.append(item.lower())
    for word in unique_list:
        dictionary[len(word)] = []
        dictionary[len(word)].append(word)
    return (dictionary)

print (word_len_dict("The dogs run quickly forward to the park"))

El código vuelve

{2: ['to'], 3: ['run'], 4: ['park'], 7: ['forward']}

¿Alguien me puede apuntar en la dirección correcta? Tal vez no me dé la respuesta libremente, pero ¿qué necesito mirar a continuación en términos de agregar las palabras que faltan a la lista? Pensé que agregarlos a la lista lo haría, pero no lo es.

¡Gracias!

Respuestas a la pregunta(7)

Su respuesta a la pregunta