开发者

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)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜