@DassM

Как удалить слова из списка в строке, почему не работает?

words_to_remove = ['Удаленка', ' Москва', '.']

my_str = 'Руководитель отдела маркетинга в ЮКО. Москва. Удаленка.'

list_of_words = my_str.split()

filtered_words = [word for word in list_of_words if word.lower()
                  not in words_to_remove]

final_string = ' '.join(filtered_words)
print(final_string)


Результат кода: Руководитель отдела маркетинга в ЮКО. Москва. Удаленка.

То есть абсолютно ничего не меняется, в чем проблема?
Хотя, вот этот код работает безотказно, просто поменял значения

words_to_remove = ['one', 'two', 'three']

my_str = 'apple one banana two kiwi three'

list_of_words = my_str.split()

filtered_words = [word for word in list_of_words if word.lower()
                  not in words_to_remove]

final_string = ' '.join(filtered_words)
print(final_string)

Результат кода: apple banana kiwi

Может быть есть другие способы удаления списка слов из строки (именно этой строки 'Руководитель отдела маркетинга в ЮКО. Москва. Удаленка.').
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
@denislysenko
data engineer
words_to_remove = ['Удаленка', ' Москва', '.']

my_str = 'Руководитель отдела маркетинга в ЮКО. Москва. Удаленка.'

list_of_words = my_str.split(" ")

filtered_words = [word for word in list_of_words if word.lower().replace(".", "") not in [i.lower().replace(" ", "") for i in words_to_remove]]

final_string = ' '.join(filtered_words)
print(final_string)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
split() разбивает по пробельным символам. У тебя в списке list_of_words будет 'Москва.', а не 'Москва' и '.'
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы