我想要一个Python函数,该函数可以从句子的输入和关键字列表中获取关键字。该函数将遍历关键字列表并在句子中搜索给定的关键字。如果句子中有关键字,该函数将返回关键字。否则它将返回None。
例如,我有一个列表[“ ai”,“机器学习”,“计算机科学”]和一句话“我的专业是计算机科学,我目前是一家商店的零售商”。如果正确实现了该功能,它将输出关键字Computer Science。但是,由于我使用的是Python IN,因此目前我的功能是同时输出Computer Science和ai(零售商中也有ai)。有什么方法可以改善我的功能以获得更合适的结果?
这是我尝试的代码:
sentence = "My major is Computer Science, and I am currently working as a retailer for a store"
keywords_list = ["ai", "Machine Learning", "Computer Science"]
output_list = list()
for keyword in keywords_list:
if keyword in sentence:
output_list.append(keyword)
我觉得这个你最好的路径是使用正则表达式,因为如果你只是使用in
,它将匹配,因为ai
是在这个词retailer
。您可以在正则表达式(\b
)中使用单词边界。
>>> import re
>>> keywords = "|".join(keywords_list)
>>> re.findall(f"\\b({keywords})\\b", sentence)
['Computer Science']
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句