python 修改字串

2021-08-15 14:13:26 字數 1402 閱讀 1281

在python中,字串是不可變型別,即無法直接修改字串的某一位字元。

因此改變乙個字串的元素需要新建乙個新的字串。

常見的修改方法有以下4種。

方法1:將字串轉換成列表後修改值,然後用join組成新字串

>>> s='abcdef'                  #原字串

>>> s1=list(s) #將字串轉換為列表

>>> s1

['a', 'b', 'c', 'd', 'e', 'f'] #列表的每乙個元素為乙個字元

>>> s1[4]='e' #將列表中的第5個字元修改為e

>>> s1[5]='f' #將列表中的第5個字元修改為e

>>> s1

['a', 'b', 'c', 'd', 'e', 'f']

>>> s=''.join(s1) #用空串將列表中的所有字元重新連線為字串

>>> s

'abcdef' #新字串

方法2: 通過字串序列切片方式

>>> s='hello world' 

>>> s=s[:6] + 'bital' #s前6個字串+'bital'

>>> s

'hello bital'

>>> s=s[:3] + s[8:] #s前3個字串+s第8位之後的字串

>>> s

'heltal'

方法3: 使用字串的replace函式

>>> s='abcdef'

>>> s=s.replace('a','a') #用a替換a

>>> s

'abcdef'

>>> s=s.replace('bcd','123') #用123替換bcd

>>> s

'a123ef'

方法4: 通過給乙個變數賦值(或者重新賦值)

>>> s='hello world'

>>> s2=' 2017' #變數賦值

>>> s=s+s2

>>> s

'hello world 2017'

>>> s='hello world'

>>> s='hello world 2017' #重新賦值

>>> s

'hello world 2017'

修改字串

將給定字串中連續出現3次的小寫字母替換為改小寫字母在字母表中的下乙個字母 z變為a 大寫字母和其他字元不處理,仍然保留。要求最終輸出的字串中不再存在任何連續出現3次的小寫字母。例如字串 atrcccert893 45ae 經過處理後應該為 atrdert893 45ae int changestri...

修改字串

1.字串變數 char s hello world int main 2.不知道為什麼不輸出,因此嘗試以下 int main s是乙個指標,初始化化為指向乙個字串常量 由於這個常量所在的地方,所以實際上s是const char s,但是由於歷史的原因,編譯器接受不帶const的寫法 但是試圖對s所指...

python中修改字串方法

1.即像是input 得到的字串string1,不能通過索引下標的方式來改變字串的內容 類似c語言中的字串常量 2.改變方法 a.建立新的字串string2,以string1為基礎往裡面新增改變後字元 message input vow abcde newmessage for letter in ...