python3修改字符串错误strobjectdoesnotsupportitemassi。。
在Python中,字符串是不可变类型,即⽆法直接修改字符串的某⼀位字符。
直接修改会报错:'str' object does not support item assignment
因此改变⼀个字符串的元素需要新建⼀个新的字符串。
常见的修改⽅法有以下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'
>>> place('a','A')    #⽤A替换a
>>> s
'Abcdef'
>>> place('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'

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。