Я хочу удалить то есть символ 5 в строке. Итак, я сделал:
del line [5]
и получил: TypeError: объект 'str' не поддерживает удаление элементов
Так что мне не интересно, есть ли другое эффективное решение проблемы.
Строки являются неизменяемыми в Python, поэтому вы не можете изменить их на месте.
Но, конечно, вы можете назначить комбинацию кусочков строк обратно тому же идентификатору:
mystr = mystr[:5] + mystr[6:]
bytearray - это тип, который можно изменить на месте.И если вы используете Python2.x, он может очень легко преобразовать в тип str по умолчанию: байты.
b=bytearray(s) del b[5] s=str(b)
Я использую функцию, похожую на:
def delstring(mystring, indexes): return ''.join([let for ind, let in enumerate(mystring) if ind not in indexes])
индексы должны быть повторяемыми (список, кортеж ..)