Как изменить один символ в строке в Python? - PullRequest
16 голосов
/ 05 октября 2010

Как мне изменить один символ в строке в Python? Что-то вроде:

 a = "hello"
 a[2] = "m"

Объект 'str' не поддерживает назначение элементов.

Ответы [ 4 ]

14 голосов
/ 05 октября 2010

Строки неизменны в Python.Вместо этого вы можете использовать список символов:

a = list("hello")

Если вы хотите отобразить результат, используйте ''.join(a):

a[2] = 'm'
print ''.join(a)
11 голосов
/ 05 октября 2010

В питоне строка неизменна. Если вы хотите изменить один символ, вам придется использовать slicing :

a = "hello"
a = a[:2] + "m" + a[3:]
8 голосов
/ 05 октября 2010

Попробуйте создать из него список. Когда вы передаете итератор в конструктор списка, он превратит его в список (это немного упрощает, но обычно работает).

a = list("hello")
a[2] = m

Затем вы можете присоединиться к нему с помощью ''.join(a).

3 голосов
/ 05 октября 2010

Это потому, что строки в Python неизменны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...