regex1 = re.compile('(?i)\\b(?:%s)\\b' % '|'.join(words_and_phrases))
regex2 = re.compile('(?i)%s' % '|'.join(booleans))
matched_data = list()
for d in data():
    if regex1.search(d) or regex2.match(d):
        matched_data.append(d)
Каков самый быстрый способ в Python определить, соответствует ли строка каким-либо терминам в списке слов, фраз, логических И?