Как пронумеровать символы в строке?

s = 'Hello, my name is John.\nI love pizza.\n' 
r = s.count('\n') 
r= str(r) 
s = s.replace('\n',r)
print(s)

Написал вот такой код, для заметы пробелов, но нехватает одного, нужно чтобы не просто колличество выводилось символов, а номер этих самых символов. Как это сделать?


Ответы (2 шт):

Автор решения: CameL

Я так понимаю, вы хотите заменить переносы строк на их номер. Тогда в методе replace, указывайте третий параметр, это количество заменяемых вхождений. И в цикле по одному меняйте

s = 'Hello, my name is John.\nI love pizza.\n' 
r = s.count('\n') 
for i in range(r):
    s = s.replace('\n',str(i + 1), 1)
print(s)

Результат:

Hello, my name is John.1I love pizza.2
→ Ссылка
Автор решения: SergFSM

как вариант:

s = 'Hello, my name is John.\nI love pizza.\n' 

r = [f'<{i}>' for i in range(1,s.count('\n')+1)] 
res = s.replace('\n', '{}').format(*r)

>>> res
'Hello, my name is John.<1>I love pizza.<2>'
→ Ссылка