我想删除字符串中的字符编号5。所以我做了:
del line [5]
得到了: TypeError:'str'对象不支持项删除
所以我不知道是否有一个不同的有效解决方案。
答案 0 :(得分:7)
字符串在Python中是不可变的,因此您无法就地更改它们。
但是,当然您可以将字符串切片的组合分配回相同的标识符:
mystr = mystr[:5] + mystr[6:]
答案 1 :(得分:1)
我使用类似于:
的功能def delstring(mystring, indexes):
return ''.join([let for ind, let in enumerate(mystring) if ind not in indexes])
索引应该是可迭代的(list,tuple ..)
答案 2 :(得分:1)
bytearray是一种可以在适当位置更改的类型。如果您使用的是Python2.x,它可以很容易地转换为默认的str类型:bytes。
b=bytearray(s)
del b[5]
s=str(b)