删除列表中以特定后缀结尾的单词

2024-09-30 14:21:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字符串列表,例如:

["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',
...]

感谢您的帮助


Tags: 字符串re列表afteraverusosaltarecarbonica
1条回答
网友
1楼 · 发布于 2024-09-30 14:21:23

您可以使用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)

相关问题 更多 >