a='1234;5'
print a.index('s')
ошибка:
> "D:\Python25\pythonw.exe"  "D:\zjm_code\kml\a.py" 
Traceback (most recent call last):
  File "D:\zjm_code\kml\a.py", line 4, in <module>
    print a.index('s')
ValueError: substring not found
спасибо
a='1234;5'
print a.index('s')
ошибка:
> "D:\Python25\pythonw.exe"  "D:\zjm_code\kml\a.py" 
Traceback (most recent call last):
  File "D:\zjm_code\kml\a.py", line 4, in <module>
    print a.index('s')
ValueError: substring not found
спасибо
Попробуйте вместо этого использовать find() - это скажет вам, где он находится в строке:
a = '1234;5'
index = a.find('s')
if index == -1:
    print "Not found."
else:
    print "Found at index", index
Если вы просто хотите знать, есть ли строка там, вы можете использовать in:
>>> print 's' in a
False
>>> print 's' not in a
True
print ('s' in a)     # False
print ('1234' in a)  # True
Используйте find, если вам нужен и индекс, но не хотите, чтобы возникло исключение.
print a.find('s')    # -1
print a.find('1234') # 0
вы можете использовать оператор in, если вы просто хотите проверить, находится ли подстрока в строке.
if "s" in mystring:
   print "do something"
в противном случае вы можете использовать find() и проверить значение -1 (не найдено) или используя index()
 str.find() и str.index() почти идентичны. самое большое различие заключается в том, что, когда строка не найдена, str.index() выдает ошибку, как тот, который у вас есть, а str.find() возвращает -1, поскольку другие отправили.
существует два сестра-метода, называемых str.rfind() и str.rindex(), которые запускают поиск с конца строки и прокладывают путь к началу.
Кроме того, как уже показали другие, операторы  in (а также  not in) также являются действительными.
Наконец, если вы пытаетесь искать шаблоны в строках, вы можете рассмотреть регулярные выражения, хотя я думаю, что слишком много людей используют их, когда они переполнены. в других (известных) словах: теперь у вас есть две проблемы.
 что это касается всей информации, которую я имею сейчас. однако, если вы изучаете Python и/или программирование обучения, одно очень полезное упражнение, которое я даю своим ученикам, заключается в том, чтобы попытаться построить *find() и *index() в коде Python самостоятельно или даже  in и  not in (хотя как функции). вы получите хорошую практику, проходящую через строки, и у вас будет лучшее понимание того, как работают существующие методы строк.
Удачи!
Это правильный способ проверить, присутствует ли подстрока в строке или нет.
def sea (str, str1):
if(str1[0:] in str):
    return "yes"
else:
    return "no"
print(sea("sahil","ah"))