python中replace的问题
x = '8888'x = x.replace('8', 'J')
print(x)
这样运行会出现错误
TypeError: 'str' object does not support item assignment
x = '8888'
print(x.replace('8', 'J'))
而这样不会出现错误
str类型是不可变类型 中括号只能取不能改{:10_292:} 理由同上,如果想实现,可以使用
x='8888'
x=list(x)
x='J'
x=''.join(x)
##join前面两个分号''中间是分隔符,不打代表没有
第一个代码错误主要原因是这:
x = x.replace('8', 'J')
字符串是不可变类型的数据
而你这行代码是将 x 字符串索引值的第 1 个字符串重新赋值为 x.replace('8', 'J') 的值,即赋值为 'J'
所以 x = x.replace('8', 'J') 这行错误的代码可以简化为:
x = 'J'
报错的原因是因为你试图改变一个不可变的数据的值(即 x 字符串数据为 '8888' 你想将 x 在原基础上将其变为 'J888')
即你想将 x 字符串中的第一个字符重新赋值为 J 导致报错
页:
[1]