Python: Delete a character from a string
I want to delete i.e. character number 5 in开发者_如何学JAVA a string. So I did:
del line[5]
and got: TypeError: 'str' object doesn't support item deletion
So no I wonder whether there is a different efficient solution to the problem.
Strings are immutable in Python, so you can't change them in-place.
But of course you can assign a combination of string slices back to the same identifier:
mystr = mystr[:5] + mystr[6:]
I use a function similar to :
def delstring(mystring, indexes):
return ''.join([let for ind, let in enumerate(mystring) if ind not in indexes])
indexes should be an iterable (list, tuple..)
bytearray is a type which can be changed in place. And if you are using Python2.x, it can very easily convert to default str type: bytes.
b=bytearray(s)
del b[5]
s=str(b)
精彩评论