我們在修改字符串時 通常遇到報錯:
TypeError: 'str' object does not support item assignment
在Python中,字符串是不可變類型,即無法直接修改字符串的某一位字符。
因此改變一個字符串的元素需要新建一個新的字符串。
常見的修改方法有以幾種:
方法1:將字符串轉換成列表后修改值,然后用join組成新字符串
# 原字符串 s = 'abcdef' # 將字符串轉換為列表 s1 = list(s) print(s1) # 將列表中的第5個字符修改為E s1[4] = 'E' # 將列表中的第5個字符修改為E s1[5] = 'F' print(s1) # 用空串將列表中的所有字符重新連接為字符串 s = ''.join(s1) print(s)
方法2: 通過字符串序列切片方式
spam = 'I have a pet cat' spam = spam[:13] + 'C' + spam[14:] print(spam)
方法3: 使用字符串的replace函數
s = 'abcdef' # 用A替換a s = s.replace('a', 'A') print(s) # 用123替換bcd s = s.replace('bcd', '123') print(s)