Возвращающийся словарь-длина слов в строке [дубликата]

На этот вопрос уже есть ответ:

Добавление более одного значения в словарь при циклическом просмотре строки 7 ответов

Мне нужно создать функцию, которая принимает в качестве входных данных строку и возвращает словарь.
Ключи - это числа, а значения - списки, содержащие уникальные слова, количество букв которых равно ключам.
Например, если функция ввода выглядит следующим образом:

n_letter_dictionary("The way you see people is the way you treat them and the Way you treat them is what they become")

Функция должна вернуть:

{2: ['is'], 3: ['and', 'see', 'the', 'way', 'you'], 4: ['them', 'they', 'what'], 5: ['treat'], 6: ['become', 'people']}

Код, который я написал, выглядит следующим образом:

def n_letter_dictionary(my_string):
    my_string=my_string.lower().split()
    sample_dictionary={}
    for word in my_string:
        words=len(word)
        sample_dictionary[words]=word
    print(sample_dictionary)
    return sample_dictionary

Функция возвращает словарь следующим образом:

{2: 'is', 3: 'you', 4: 'they', 5: 'treat', 6: 'become'}

Словарь не содержит всех слов с одинаковым количеством букв, но возвращает только последнее слово в строке.

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

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