У меня есть эта функция, которая принимает слово и перечисляет индекс каждой буквы:Как получить индекс нескольких вхождений одного и того же символа в строке?
def capitals(word):
print word
lst = []
for i in word:
if i.isupper():
lst += [word.index(i)]
return lst
Когда все заглавные буквы в слове различны, он работает нормально. Пример:
столицы ("AuIkkdjsiP") возвращает [0,2,9]
Однако, если строка имеет дублированные столицы, это происходит:
столицы ("AuAskdjfIsjUsdhA ") возвращает [0,0,10,0]
Как получить индекс других вхождений символа« А »при итерации строки?
Используйте 'enumerate()' и итерации по индексу и символу. –
После 'import re',' [match.start() для соответствия в re.finditer ('[AZ]', "AuAskdjfIsjUsdhA")] '==>' [0, 2, 8, 11, 15] ' – Harvey