Adicionando mais de um valor ao dicionário ao percorrer a string
Ainda super novo no Python 3 e encontrei um problema ... Estou tentando criar uma função que retorna um dicionário com as chaves sendo o comprimento de cada palavra e os valores sendo as palavras na string.
Por exemplo, se minha string for: "Os cães correm rapidamente para o parque", meu dicionário deve retornar{2: ['to'] 3: ['The', 'run', 'the'], 4: ['dogs', 'park], 7: ['quickly', 'forward']}
O problema é que, quando percorro os itens, ele anexa apenas uma das palavras da sequência.
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"))
O código retorna
{2: ['to'], 3: ['run'], 4: ['park'], 7: ['forward']}
Alguém pode me apontar na direção certa? Talvez não esteja me dando a resposta livremente, mas o que preciso examinar a seguir em termos de adição das palavras ausentes à lista. Eu pensei que anexá-los à lista faria isso, mas não é.
Obrigado!