如何从另一个列表中的单词列表中查找单词

时间:2015-07-22 09:42:52

标签: python-3.x

例如,我有这个单词列表:

words = ['foo','doo']

我希望在看起来像这样的单词列表中找到它们:

text = ['<p>foo','one','two','rgb(0,0,0);">dupa</span></p>']

我想要做的就是用第一个列表中的每个单词包含一个html标签,如<strong></strong>

据我所知,我应该做一些循环:

for word in text:
    if word in words:
        do something here

但我不知道如何用标签包装每个单词。任何帮助都会很好!

1 个答案:

答案 0 :(得分:1)

您可以使用正则表达式,匹配所有这些单词的析取,并用标记中包含的相同单词替换它们。

这样的事情:

import re
p = re.compile("(%s)" % "|".join(words))
for word in text:
    print p.sub(r"<tag>\1</tag>", word)

或者如果您想要创建新列表:

text_new = [p.sub(r"<tag>\1</tag>", word) for word in text]