Найти - Пользователи
Полная версия: Поиск подстроки.Помогите разобраться
Начало » Python для новичков » Поиск подстроки.Помогите разобраться
1
Hecate1988
Функция second_index принимает в качестве параметров 2 строки. Вам необходимо найти индекс второго вхождения искомой строки в строке для поиска.

Разберем самый первый пример, когда необходимо найти второе вхождение “s” в слове “sims”. Если бы нам надо было найти ее первое вхождение, то тут все просто: с помощью функции index или find мы можем узнать, что “s” – это самый первый символ в слове “sims”, а значит индекс первого вхождения равен 0. Но нам необходимо найти вторую “s”, а она 4-ая по счету. Значит индекс второго вхождения (и ответ на вопрос) равен 3.

Строка, которую нужно найти, может состоять из нескольких символов.

Input: Две строки (String).

Output: Int or None

Примеры:

assert second_index(“sims”, “s”) == 3, ‘Test1’
assert second_index(“find the river”, “e”) == 12, ‘Test2’
assert second_index(“hi”, “h”) == None, ‘Test3’
assert second_index(“Hello, hello”, “lo”) == 10, ‘Test4’
py.user.next
  
>>> def second_index(source, pattern):
...     out = None
...     index1 = source.find(pattern)
...     if index1 >= 0:
...         index2 = source.find(pattern, index1 + 1)
...         if index2 >= 0:
...             out = index2
...     return out
... 
>>> assert second_index('sims', 's') == 3, 'Test1'
>>> assert second_index('find the river', 'e') == 12, 'Test2'
>>> assert second_index('hi', 'h') == None, 'Test3'
>>> assert second_index('Hello, hello', 'lo') == 10, 'Test4'
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB