2010-12-01 278 views
2

我想刪除字符串中的字符號碼5。所以我做:Python:從字符串中刪除字符

德爾線[5]

,並得到: 類型錯誤:「海峽」對象不支持項目刪除

因此,沒有我不知道是否有不同的有效的解決方案問題。

回答

6

字符串在Python中是不可變的,所以你不能在原地更改它們。

不過,當然,你可以串片的組合分配回相同的標識:

mystr = mystr[:5] + mystr[6:] 
+0

謝謝!使感覺。想象一下,如果你的答案可以被集成到Python的錯誤信息。如果該錯誤消息是某種社區wiki,那麼我可以自己整合它。我可以在5分鐘內接受答案。 – David 2010-12-01 13:24:37

1

我使用類似的功能:

def delstring(mystring, indexes): 
    return ''.join([let for ind, let in enumerate(mystring) if ind not in indexes]) 

指標應該是一個迭代(列表,元組..)

1

bytearray是一種可以在適當位置更改的類型。如果您使用的是Python2.x,它可以非常容易地轉換爲默認的str類型:字節。

b=bytearray(s) 
del b[5] 
s=str(b)