Удалить слова, оканчивающиеся на суффикс c в списке - PullRequest
0 голосов
/ 01 августа 2020

У меня есть список строк, например:

["l'uso",
 'costante',
 'mascherina',
 'chirurgica',
 'magari',
 'indossata',
 'circostanze',
 'inappropriate',
 'aver',
 'contribuito',
 'saltare',
 'sovraproduzione',
 'anidride',
 'carbonica',
 'ultimamente'
...]

Мне нужно удалить из этого списка слова, заканчивающиеся на:

t_remove=['ito','ato','iti','ate','ata','mente','are']

В случае одной строки и одной суффикс для удаления, я бы сделал:

import re
sentence = "word ultimamente monty saltare"
after = re.sub(r'\w+are\s?','', sentence)
after = re.sub(r'\w+mente\s?','', after)

print after

Мой ожидаемый результат

["l'uso",
 'costante',
 'mascherina',
 'chirurgica',
 'magari',
 'circostanze',
 'aver',
 'sovraproduzione',
 'anidride',
 'carbonica',
...]

Любая помощь приветствуется.

1 Ответ

2 голосов
/ 01 августа 2020

Вы можете использовать endwith()

t_remove=['ito','ato','iti','ate','ata','mente','are']
input = ["l'uso",
 'costante',
 'mascherina',
 'chirurgica',
 'magari',
 'indossata',
 'circostanze',
 'inappropriate',
 'aver',
 'contribuito',
 'saltare',
 'sovraproduzione',
 'anidride',
 'carbonica',
 'ultimamente']

pruned = []
for inp in input:
   if True not in [inp.endswith(suffix) for suffix in t_remove]:
       pruned.append(inp)

print(pruned)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...