在Python中,字符串是不可變類型,即無法直接修改字符串的某一位字符。
因此改變一個字符串的元素需要新建一個新的字符串。
常見的修改方法有以下4種。
方法1:將字符串轉換成列表后修改值,然后用join組成新字符串
|
1
2
3
4
5
6
7
8
9
10
11
|
>>> 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: 通過字符串序列切片方式
|
1
2
3
4
5
6
7
|
>>> 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函數
|
1
2
3
4
5
6
7
|
>>> s
=
'abcdef'
>>> s
=
s.replace(
'a'
,
'A'
)
#用A替換a
>>> s
'Abcdef'
>>> s
=
s.replace(
'bcd'
,
'123'
)
#用123替換bcd
>>> s
'A123ef'
|
方法4: 通過給一個變量賦值(或者重新賦值)
|
1
2
3
4
5
6
7
8
9
|
>>> s
=
'Hello World'
>>> s2
=
' 2017'
#變量賦值
>>> s
=
s
+
s2
>>> s
'Hello World 2017'
>>> s
=
'Hello World'
>>> s
=
'Hello World 2017'
#重新賦值
>>> s
'Hello World 2017'
|
