Python:从字符串中删除字符
我想删除字符串中的第5个字符。所以我做了: 删除行[5] 得到: TypeError:“str”对象不支持项删除Python:从字符串中删除字符,python,string,Python,String,我想删除字符串中的第5个字符。所以我做了: 删除行[5] 得到: TypeError:“str”对象不支持项删除 因此,我不知道是否有不同的有效解决方案来解决这个问题。字符串在Python中是不可变的,因此您不能在适当的位置更改它们 当然,您可以将字符串片段的组合分配回同一标识符: mystr = mystr[:5] + mystr[6:] 我使用的函数类似于: def delstring(mystring, indexes): return ''.join([let for ind, l
因此,我不知道是否有不同的有效解决方案来解决这个问题。字符串在Python中是不可变的,因此您不能在适当的位置更改它们 当然,您可以将字符串片段的组合分配回同一标识符:
mystr = mystr[:5] + mystr[6:]
我使用的函数类似于:
def delstring(mystring, indexes):
return ''.join([let for ind, let in enumerate(mystring) if ind not in indexes])
索引应该是iterable(列表、元组…)bytearray是一种可以就地更改的类型。如果您使用的是Python2.x,那么它可以很容易地转换为默认的str类型:bytes
b=bytearray(s)
del b[5]
s=str(b)
谢谢有道理。想象一下,如果您的答案可以集成到python错误消息中。想象一下,如果那个错误消息是某种社区维基,那么我可以自己集成它。我可以在5分钟内接受答案。@David:某些基本Python类型(尤其是and)的不变性让许多语言新手感到困惑,但这很有意义,是Python的一个基本概念。毕竟,您也不希望能够就地更改整数值。因此,这被认为是基本的Python知识;这个错误信息对我来说已经足够清楚了。我同意这一点,一个人不能把所有的东西都写在错误信息中。但是想象一下,如果所有错误消息都包含一个指向wiki页面的web链接,其中可以包含有关问题的所有信息/解决方案。