Python中的字符串是不可变的。这意味着给定的字符串对象在创建后将永远不会改变其值。这就是为什么像这样的元素分配some_str[4] = "x"
会引发异常。
由于类似的原因,str
该类提供的任何方法都不能使字符串发生突变。因此,该str.replace
方法无法按照我认为的方式工作。而不是就地修改字符串,它返回带有请求的替换的新字符串。
尝试:
encrypted_str = encrypted_str.replace(encrypted_str[j], dec_str2[k], 2)
如果要进行很多这样的替换,将字符串转换为字符列表,一个接一个地进行修改,然后str.join
在完成后使用该列表再次将其转换为字符串可能是有意义的。