Поиск последовательных индексов в строке

#python

#python

Вопрос:

Я новичок в python и пытаюсь искать слова в строках, т.е. Если index [0][1] [2] — это bob, а index [2] [3] [4] — это bob, я хочу найти два результата. Я полностью запутался в этом.

 i = 0
indexes =  [i][ i][  i]
start = 0
s = 'azcbobobegghakl'
slen = len('azcbobobegghakl')
b = s.index('bob')
print slen

if [i][ i][  i] in s == 'bob':
start  = 1
print start
 

Комментарии:

1. На данный момент мой код не имеет смысла, поскольку я продолжаю что-то менять

2. вам нужно количество или индекс подстроки?

Ответ №1:

Вы ищете нарезку:

 >>> s = 'azcbobobegghakl'
>>> print s[3:6]
bob
 

В python i синтаксиса не существует (он не делает того, что вы думаете, что он делает). Тебе нужно что — то делать [i:i 3] .

Я думаю, что вы пытаетесь сделать это:

 >>> i = range(len(s)) # i = [0, 1, 2, 3, ...,  14]
>>> s = 'azcbobobegghakl'
>>> for number in i:
...     if s[number:number 3] == 'bob': 
...         print 'I found bob!'
... 
I found bob!
I found bob!
 

Комментарии:

1. Да, но как насчет [5:8]? в значительной степени я хотел бы начать поиск с индекса [0: 3] с шагом 1 для длины строки

2. Отлично! это здорово.