Ответ 1
Чтобы найти одну строку в другой, вы можете попробовать string найти метод.
if b.find(a) != -1: # -1 will be returned when a is not in b
do_whatever
Чтобы игнорировать заглавные буквы, вы можете сделать что-то вроде:
if b.lower().find(a.lower()) != -1:
do_whatever
Дополнительный комментарий: Когда я печатаю это, это происходит через три года с тех пор, как я изначально предоставил этот ответ. Ответ по-прежнему получает случайные голоса, как вверх, так и вниз. Поскольку ответ работает, по-видимому, нисходящие избиратели считают, что это не так, как Pythonic, как ответ if a in b:
. Как говорится в комментариях, этот ответ может терпеть неудачу, если a и b не являются строками. Дебаты о том, должно ли это быть предметом озабоченности. Я уже некоторое время видел и видел всевозможные вещи, когда код повторно использовался или входные данные не были ожидаемыми. Таким образом, моя точка зрения заключается в том, что не следует полагать, что данные будут соответствовать ожиданиям. Кроме того, я считаю, что Zen of Python поддерживает точку зрения, что этот ответ более Pythonic:
>>> import this The Zen of Python, by Tim Peters Beautiful is better than ugly.
Explicit is better than implicit.
...
Errors should never pass silently.
Unless explicitly silenced.
....