刚学python的小白求解答,这个错误为什么错?

img
想问一下为什么这里的字符串不能单独地拿出来进行赋值,这里出了什么问题?(看不懂pycharm的解释

x1是字符串类,字符串类不支持直接用索引赋值。

x1[2] = "a" # 错误

这种写法是错误的。可以考虑先转换为list,对list进行操作,然后将list拼成最终字符串,如下:

x1list = list(x1)
x1list[2] = "a"
"".join(x1list) # 字符串的join方法

x1是读入的字符串,那么x1[0]是这个字符串的第一个字符,这个相当于是一个常量,没有办法给它赋值一个字符串类型的值,也就是说x1可以被赋值,但是x1[0]不行;如果你想做这两个输入字符串前两个字符的交换,建议先截取,然后用字符串类型做交换,然后再拼接的方式来完成。