Sobes.tech
Back to questions
Junior — Middle
64

Можно ли заменить конкретный символ в строке без создания новой строки?

Companies where asked
МТСМТС
Оптимакрос

Answer from AI

sobes.tech AI

В Python строки являются неизменяемыми (immutable), поэтому нельзя заменить символ в строке "на месте" без создания новой строки.

Если нужно изменить символ, обычно создают новую строку, например:

s = "hello"
s = s[:1] + 'a' + s[2:]  # заменяем второй символ на 'a'
print(s)  # 'hallo'

Если требуется часто изменять отдельные символы, можно преобразовать строку в список символов, изменить элемент, а затем собрать обратно:

s = "hello"
lst = list(s)
lst[1] = 'a'
s = ''.join(lst)
print(s)  # 'hallo'

Таким образом, напрямую изменить символ в строке нельзя, всегда создаётся новая строка.