Python: удалить символ из строки - PullRequest
2 голосов
/ 01 декабря 2010

Я хочу удалить то есть символ 5 в строке. Итак, я сделал:

del line [5]

и получил: TypeError: объект 'str' не поддерживает удаление элементов

Так что мне не интересно, есть ли другое эффективное решение проблемы.

Ответы [ 3 ]

7 голосов
/ 01 декабря 2010

Строки являются неизменяемыми в Python, поэтому вы не можете изменить их на месте.

Но, конечно, вы можете назначить комбинацию кусочков строк обратно тому же идентификатору:

mystr = mystr[:5] + mystr[6:]
1 голос
/ 01 декабря 2010

bytearray - это тип, который можно изменить на месте.И если вы используете Python2.x, он может очень легко преобразовать в тип str по умолчанию: байты.

b=bytearray(s)
del b[5]
s=str(b)
1 голос
/ 01 декабря 2010

Я использую функцию, похожую на:

def delstring(mystring, indexes):
  return ''.join([let for ind, let in enumerate(mystring) if ind not in indexes])

индексы должны быть повторяемыми (список, кортеж ..)

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