Python:从字符串中删除一个字符

2 投票
3 回答
6758 浏览
提问于 2025-04-16 07:52

我想在一个字符串中删除第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:]

撰写回答