首页 > 解决方案 > 检查格式错误的字符串中的基本关键字和相关关键字

问题描述

我有以下数据:

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

上面的代码不会 return True,因为某些单词之间不存在空格,但我希望它返回True

标签: python

解决方案


这些方面应该做的事情:

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']

推荐阅读