使用了以下这种改变字符串某个位置字符的代码,就会出现这个问题
s = '312141'
s[0] = '0'
python中的字符串跟C++的有点不一样,python的字符串是一种不可变对象(immutabel object),意味着只读不写,线程安全。C++的字符串我们可以直接使用s[0]='0’这种语法对字符串中的某个字符赋值,而python不可以。
在python中,可以先将字符串转成列表,然后再进行赋值操作,再将其转变回来。参考stackoverflow的一个回答
s = '312141'
t = list(s)
t[0] = '0'
s = ''.join(t)