Вот как можно использовать zip()
и понимание списка:
terms = ["dog","cat","fish"]
texts = ["I like my dog", "Hello world", "Random text"]
results = ["match" if a in b else "no match" for a,b in zip(terms,texts)]
print(results)
Вывод:
['match', 'no match', 'no match']
ОБНОВЛЕНИЕ: оказывается, что архивирование не то, что хотел OP.
terms = ["dog","cat","fish"]
texts = ["I like my dog", "Hello world", "Random text"]
results = ["match" if any(b in a for b in terms) else "no match" for a in texts]
print(results)
Вывод:
['match', 'no match', 'no match']