Python 在列表中查找单词/元素并返回匹配的值
我正在努力解决以下问题。我有两个列表:Python 在列表中查找单词/元素并返回匹配的值,python,list,Python,List,我正在努力解决以下问题。我有两个列表:wordList和myLIST 目标是检查wordList中的任何元素是否也在myList中。然后应该返回匹配的值 脚本如下所示: import re myList = ['volkswagen-ag','audi-ag','lamborghini-ag'] wordList = ['volkswagen','audi','lamborghini'] def findWholeWord(w): return re.compile(r'\b
wordList
和myLIST
目标是检查wordList
中的任何元素是否也在myList
中。然后应该返回匹配的值
脚本如下所示:
import re
myList = ['volkswagen-ag','audi-ag','lamborghini-ag']
wordList = ['volkswagen','audi','lamborghini']
def findWholeWord(w):
return re.compile(r'\b({0})\b'.format(w), flags=re.IGNORECASE).search
for x in myList:
b = findWholeWord(y)(x)
print(b)
它产生以下结果:
<re.Match object; span=(0, 10), match='volkswagen'>
None
None
None
<re.Match object; span=(0, 4), match='audi'>
None
None
None
<re.Match object; span=(0, 11), match='lamborghini'>
没有一个
没有一个
没有一个
没有一个
没有一个
没有一个
如何获取myLIST
中匹配字段的值(例如:“Volkswagen”
应返回“Volkswagen ag”
?我刚刚从另一篇博客文章中找到了一个解决方案
我想用匹配的值创建一个新列表。您正在包含单词边界,但没有在搜索单词后包含字符。您应该将正则表达式更新为
r'\b({0}[^\s]+)\b'
。这将在您的搜索词后拖出任何非空格字符。非常感谢您的快速搜索。没有iam收到正确的结果。最后一个问题。我如何访问匹配的值?无[]过程已完成,退出代码0结果存储在元组中您可以通过b[1]访问它
。如果我想将所有匹配的值存储在一个列表中,我该怎么办?这可能比问题看起来要困难一些。请尝试将问题改为“我想要”而不是“我想要”通过评论查看,RE可能不是获得所需内容的最佳方式。结果应该是:大众汽车公司、奥迪汽车公司、兰博基尼汽车公司。唯一的问题是如何从RE中提取匹配值。MatchObject:None流程已完成,退出代码为0