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!