Задача 1.2.5 Поиск уникальных слов У вас есть набор текстовых данных. Для анализа вам нужны только уникальные слова из этого текста (т.е. те, которые не повторяются ни разу).…
Задача 1.2.5 Поиск уникальных слов У вас есть набор текстовых данных. Для анализа вам нужны только уникальные слова из этого текста (т.е. те, которые не повторяются ни разу). Поэтому напишите функцию filter_unique_words, которая принимает строку из слов, разделенных пробелами, и возвращает список, содержащий только уникальные слова. Отсортируйте получившийся список в лексикографическом порядке (в этом может помочь функция sorted) Ваше решение должно содержать только функцию, без её вызова или считывания данных с командной строки. Параметры функции string (str) - строка текста Возвращаемое значение list[str] - список уникальных слов Пример s = "на дворе трава на траве дрова" result = filter_unique_words(s) # result = ['дворе', 'дрова', 'трава', 'траве']
def filter_unique_words(string: str) -> list[str]: words = string.split() counts = {} for w in words: counts[w] = counts.get(w, 0) + 1 unique = [w for w in words if counts[w] == 1] return sorted(unique)
Обсуждение
2 сообщениястрока 7, символ 26: [W292] нет перевода строки в конце файла В Вашем коде обнаружено 1 ошибок
Похоже, что код не содержит пустой строки в конце файла, что может вызывать предупреждение. Но это не ошибка, а просто рекомендация по оформлению кода. Чтобы устранить это предупреждение, вы можете добавить пустую строку в конце файла. Вот исправленный вариант кода:
def filter_unique_words(string: str) -> list[str]:
words = string.split()
counts = {}
for w in words:
counts[w] = counts.get(w, 0) + 1
unique = [w for w in words if counts[w] == 1]
return sorted(unique)
Теперь у вас есть пустая строка в конце файла, и предупреждение должно исчезнуть.