Python:从字符串中删除一个字符
我想在一个字符串中删除第5个字符。所以我尝试了:
del line[5]
结果出现了错误:TypeError: 'str'对象不支持删除项
所以我在想,是否有其他更有效的方法来解决这个问题。
3 个回答
1
我使用的函数类似于:
def delstring(mystring, indexes):
return ''.join([let for ind, let in enumerate(mystring) if ind not in indexes])
indexes 应该是一个可迭代的东西(比如列表、元组等)。
1
bytearray是一种可以直接修改的类型。如果你在使用Python2.x版本,它可以很方便地转换成默认的字符串类型:bytes。
b=bytearray(s)
del b[5]
s=str(b)
7
在Python中,字符串是不可变的,也就是说你不能直接修改它们。
不过,你可以把字符串的一部分组合起来,再赋值给同一个变量:
mystr = mystr[:5] + mystr[6:]