我有以下数据:
base = ['Manufacturing', 'Aviation', 'Astronomy', 'Entertaiment', 'Defense & Security']
这些关键字还具有相关的关键字:
related = {'Defense & Security': ['defense', 'security'],
'Entertaiment': ['soccer', 'sports', 'cinematography'] }
我想使用基本关键字及其相关关键字搜索一些文本。如果找到其中一个关键字或相关关键字,则搜索应停止,并返回基本关键字。
即使单词之间没有空格,我也想搜索。例如:
keyword = 'Aviation'
search_in = 'detectorshigh intensity lampsbar codeaviation readerphotodiodesview'
if keyword.lower() in search_in.lower():
return True
上面的代码不会返回True
,因为某些单词之间的空格不存在,但我希望它返回True
。
应该做一些事情:
def getKeywords(search_in, base, related):
lst=[]
for w in base:
if(w.lower() in search_in):
lst.append(w)
else:
for w_r in related.get(w, []):
if(w_r.lower() in search_in):
lst.append(w)
break
return lst
base = ['Manufacturing', 'Aviation', 'Astronomy', 'Entertaiment', 'Defense & Security']
related = {'Defense & Security': ['defense', 'security'],
'Entertaiment': ['soccer', 'sports', 'cinematography'] }
search_in = 'detectorshigh intensity lampsbar codeaviation readerphotodiodesview'
print(getKeywords(search_in, base, related))
#outputs: ['Aviation']