python,从lis中删除字符串中的单词

2024-09-27 00:21:18 发布

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

我想删除字符串中的单词,即列表中的单词或“种子”单词

示例:

query = "LK936033.1 Babesia assembly 454hybrid_PBjelly scaffold Contig1323  7"
seeds = ["assembly","454","scaffold","contig"]

预期结果:

^{pr2}$

我找到了一种方法来删除这样的单词:

' '.join([i for i in query.split() if i not in seeds])

但是这种方法只从种子列表中删除精确的单词,而不删除包含种子的单词。在


Tags: 方法字符串in示例列表assemblyquery单词
1条回答
网友
1楼 · 发布于 2024-09-27 00:21:18

您需要扩展测试;使用^{} function来提高效率:

' '.join([i for i in query.split() if not any(w in i.lower() for w in seeds)])

any(w in i.lower() for w in seeds)测试使用一个生成器表达式来测试当前单词是否包含任何小写的种子词;它只计算最小数量的测试以找到匹配项。在

演示:

^{pr2}$

相关问题 更多 >

    热门问题