Похоже, вам нужно выполнить этот поиск не только один раз, поэтому я бы порекомендовал преобразовать ваш список в словарь:
>>> l = ['Hi, hello', 'hi mr 12345', 'welcome sir']
>>> d = dict()
>>> for item in l:
... for word in item.split():
... d.setdefault(word, list()).append(item)
...
Так что теперь вы можете легко сделать:
>>> d.get('hi')
['hi mr 12345']
>>> d.get('come') # nothing
>>> d.get('welcome')
['welcome sir']
p.s. вероятно, вам нужно улучшить item.split()
для обработки запятых, точек и других разделителей. возможно используйте регулярные выражения и \w
.
p.p.s. как упоминалось в cularion, это не будет соответствовать "добро пожаловать, сэр". если вы хотите сопоставить всю строку, это всего лишь одна дополнительная строка к предлагаемому решению. но если вам нужно сопоставить часть строки, ограниченную пробелами и пунктуацией, regex
должен быть вашим выбором.