Вывод уникальных слов из строки в том порядке, в котором они первый раз встретились

На вход поступает строка из слов, разделенных пробелом, нужно вывести только уникальные слова (без учета регистра), в том порядке, в котором они первый раз встретились. Вывод слов в нижнем регистре.

Ввод: Мама мыла раму мыла мама папа привет

Вывод: мама мыла раму папа привет

Что у меня получилось:

word_list = (x.lower() for x in  (input()).split(' '))
unique = set()
for word in word_list:
    if word not in unique:
        unique.add(word)
print(*unique)

Вопрос в том, как вывести слова в том порядке, в котором они впервые встретились


Ответы (1 шт):

Автор решения: Tehnorobot

Метод set() полученные уникальные данные собирает неупорядоченно. Поэтому, как вариант, предложу следующее:

Попробуйте так:

string = 'Мама мыла раму мыла мама папа привет'

lst = string.lower().split(' ')

res = []

for i in lst:
    if i not in res:
        res.append(i)

print(' '.join(res))

Вывод:

мама мыла раму папа привет
→ Ссылка